Per iniziare con ImageMagic e provare a trovare un modo per farlo ... Se un'immagine è inferiore a 50 pixel di altezza o 50 di larghezza, mi piacerebbe posizionarla (non ridimensionato) nel centro orizzontale/verticale di una nuova tela di 50x50 pixel su uno sfondo bianco - e salvalo come nuova immagine. Qualcuno sa se questo è possibile con ImageMagick? Grazie!Usa ImageMagick per posizionare un'immagine all'interno di una tela più grande
risposta
Vedere cutting and bordering per un numero enorme di esempi. Ecco un modo semplice si potrebbe farlo:
convert input.png -bordercolor Black -border 5x5 output.png
Naturalmente, sarà necessario per calcolare la dimensione del bordo da aggiungere (se presente) in base alle dimensioni dell'immagine in ingresso. Stai usando un'API ImageMagick o solo gli strumenti da riga di comando?
Probabilmente non è la soluzione al problema, ma +1 poiché mi ha aiutato con la creazione di immagini a 9patch. :) – unexist
È possibile utilizzare single composition per eseguire questa operazione. Quindi sarebbe simile a questa:
convert -size 50x50 xc:white null: (my_image.png -coalesce) -gravity Center -layers Composite -layers Optimize output.png
ho provato questo:
convert test.jpg -resize 100x100 -background black -gravity center -extent 100x100 output.png
ho usato -extent per fare questo:
convert input.jpg -gravity center -background white -extent 50x50 output.jpg
come per me, la gravità deve essere posizionata prima di '-extent':' convert bg.png -gravity center -extent 640x960 -background white ../ default @ 2x.png' – Cfr
... e anche '-background' deve essere impostato prima di '-extent'. Nell'esempio sopra funziona come sfondo è impostato di default in bianco – theta
Ho aggiornato l'esempio, grazie! – Jared
Per modificare l'immagine di origine è necessario usare mogrify:
mogrify -gravity center -background white -extent 50x50 source.jpg
Volevo fare lo stesso, tranne ridurre l'immagine al 70% all'interno. Ho usato questo:
convert input.png -resize 70%x70% -gravity center -background transparent -extent 72x72 output.png
Non esattamente quello che è stato richiesto, ma si spera che possa aiutare qualcuno;).
Una volta ho usato questo codice per posizionare un'immagine al centro di una nuova tela con uno sfondo bianco. spero che questo ti possa essere d'aiuto
convert -background white -gravity center your_image.jpg -extent 50x50 new_image.jpg
Quale API stai utilizzando? – John