2015-03-16 12 views
8

Sto usando il comando convert per ridimensionare l'immagineRidimensionare l'immagine con imbottitura utilizzando la conversione su Ubuntu

ci sono due versioni

seguente è il primo, l'immagine risultante mantiene il rapporto di aspetto, ma l'immagine non necessariamente essere di dimensioni nxn

convert temp.jpg -resize nxn temp.jpg 

La seconda versione

convert temp.jpg -resize nxn! temp.jpg 

Non conserva le proporzioni.

Quello che voglio è quello di mantenere le proporzioni, e riempire il resto dell'immagine, con un valore RGB desiderato acheive la dimensione nxn

Tutte le idee?

Grazie

+0

Prova con ffmpeg: https: //trac.ffmpeg.org/wiki/ Ridimensionamento% 20% 28 ridimensionamento% 29% 20con% 20ffmpeg – Rups

risposta

18

è necessario utilizzare -extent per impostare la dimensione della tela direttamente dopo averlo ridimensionato, e la zona appena creato verrà riempito con qualunque si imposta la -background a.

Quindi, se si desidera che il padding essere magenta, fare questo:

convert image.png -resize 100x100 -background "rgb(255,0,255)" -extent 100x100 out.png 

Se volete che la vostra immagine appaia "in mezzo" dell'immagine in uscita, con l'imbottitura equidistanti intorno ai lati, aggiungere in -gravity center come questo:

convert image.png -resize 100x100 -gravity center -background "rgb(255,0,255)" -extent 100x100 out.png 

Quindi, se si parte con una vasta immagine blu, cioè 300x100 e non ha alcuna possibilità di montare correttamente in una piazza, come segue:

enter image description here

e ridimensionarlo con questo:

convert image.png -resize 100x100 -gravity center -background "rgb(255,0,255)" -extent 100x100 out.png 

saremo ottenere questo

enter image description here

+0

È una risposta perfetta e ha funzionato per il mio problema, mi dispiace di essere in ritardo perché ero via, grazie per la risposta! – Shan