Ich habe eine riesige Galerie mit 12 GB auf dem Server, voller Bilder in verschiedenen Unterordnern. Diese Dateien sind zu groß und werden nicht in voller Auflösung verwendet. Ich muss die Größe aller Bilder auf 820 Pixel ändern (Proportionen beibehalten). Meine Frage ist also: Wie kann ich eine Art Crawling-Skript erstellen, das die Größe aller Bilder mit einer Größe von mehr als 820 Pixel ändert und sie beim Überschreiben der Originaldatei wieder speichert?
Hoffe du kannst mir helfen :-) Danke im Voraus.
linux
images
batch-jobs
G-Gore
quelle
quelle
find . -name "*.jpg" -exec mogrify -resize 820x {} +
wird sie alle tun; wenn Sie nicht wollen , die „weniger als 820px“ diejenigen zu verarbeiten, gibt es einige Möglichkeiten hier .Antworten:
ImageMagick-Tools, die konvertieren oder mogrifizieren, erledigen den Job.
Sie können sie über Ihren Paketmanager oder die Quelle / RPMs hier herunterladen: http://www.imagemagick.org/script/binary-releases.php#unix
Grundlegende Verwendung:
Wenn Sie eine Rekursion benötigen:
quelle
find . -name '*.jpg' -execdir mogrify -resize '820x620>' {} \;
Verwenden Sie
convert
, um die Arbeit zu erledigen.convert -resize "1024x768>" origIMG destIMG
Die Größe von origIMG wird auf 1024 x 768 geändert, wobei das Seitenverhältnis beibehalten und die Größe nur geändert wird, wenn das Bild größer als 1024 ist, wodurch das neue Bild in destIMG gespeichert wird. Danach können Sie das destIMG auf das Original verschieben.Verwenden Sie eine Schleife, um alle Ihre Verzeichnisse zu durchlaufen oder zu verwenden
find
.quelle
find
?