2015-09-08 6 views
16


Ich habe über 1000 Bilder auf verschiedenen Auflösungen, (zum Beispiel 1234x2122, 4400x5212, etc) und ich möchte sie alle auf feste 100x100 Größe konvertieren, so.Imagemagick konvertieren Crop und Größe ändern

  1. zuerst muss ich Bilder halten Proportionen, um die Größe und erhalten 100xA oder AX100, wobei A> 100 (es Breite und Höhe des Bildes hängt, für einige Bilder Breite> Höhe, und für einige Bilder Höhe> Breite) .

  2. Crop dieses Bild zu 100x100 vom Zentrum

Gibt es einen einfachen Befehl convert, dass ich für all meine Bilder verwenden kann?

+0

scheint wie das, was Sie ähnlich tun möchte, ist zu diesem http://www.imagemagick.org/discourse-server/viewtopic.php?t=18545 –

Antwort

21

Sie würden die area-fill (^) geometry modifier über die -resize Operation verwenden, um die Abwärtsskala zu vereinheitlichen. Zum Beschneiden der Mitte funktioniert -extent mit -gravity Center.

convert input.jpg -resize 100x100^ \ 
        -gravity Center \ 
        -extent 100x100 \ 
     output.jpg 

aktualisieren

Wie Mark Setchell in den Kommentaren darauf hingewiesen, kann das mogrify Dienstprogramm Batch-Konvertierung Elemente genutzt werden.

mogrify -path ./path/to/write/results/ \ 
     -resize 100x100^ \ 
     -gravity Center \ 
     -extent 100x100 \ 
     ./path/to/source/files/* 

reminderZur Erinnerung: Mogrify wird mit resultierender Bild Originaldatei überschreibt (s), wenn Sie die -path Parameter eingestellt.

+0

meine Stimme :-) Vielleicht 'mogrify' erwähnen wenn OP 1000+ Bilder hat? –