2015-09-08 15 views
16


Ho più di 1000 immagini su risoluzioni diverse, (ad esempio 1234x2122, 4400x5212, ecc.) E voglio convertirle tutte in formato fisso 100x100, quindi.Imagemagick convertire il ritaglio e ridimensionare

  1. prima ho bisogno di ridimensionare le immagini mantenendo le proporzioni, e ottenere 100xA o AX100, dove A> 100 (dipende larghezza e l'altezza dell'immagine, per la larghezza alcune immagini> altezza, e per una certa altezza immagini> larghezza) .

  2. Ritaglia questa immagine a 100x100 dal centro

C'è un semplice comando convertito, che posso usare per tutte le mie immagini?

+0

sembra che ciò che si vuole fare è simile a questo http://www.imagemagick.org/discourse-server/viewtopic.php?t=18545 –

risposta

21

Si utilizzerà lo area-fill (^) geometry modifier sull'operazione -resize per unificare il down-scale. Per ritagliare il centro, lo -extent con -gravity Center funzionerà.

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

Aggiornamento

Come Mark Setchell sottolineato nei commenti, l'utilità mogrify può essere sfruttato per convertire in batch elementi.

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

reminderPromemoria: Mogrify sovrascrive file originale con l'immagine risultante (s), a meno che non si imposta il parametro -path.

+0

avere il mio voto :-) Forse parlare di 'mogrify' se l'OP ha più di 1000 immagini? –

Problemi correlati