Minha versão do ImageMagick é "6.7.8-0 2012-07-04 Q16". De acordo com o documento, a resposta do comando @kev deve funcionar:
convert in.png -gravity east -extent 520x352 out.png
No entanto, como na maioria das perguntas do ImageMagick, você pode atingir o mesmo objetivo com diferentes meios. Você poderia usar montage
assim:
montage null: in.png -tile 2x1 -geometry +17+0 out1.png
Isso usa a imagem especial 'null:' para concatenar com o in.png
.
É verdade que, com convert
, é necessário calcular novamente os valores que você precisa passar para -extent
para cada imagem de entrada que tenha um tamanho diferente.
Primeiro, use identify -format
para obter as dimensões da imagem:
identify -format '%Wx%H' in.png
Isso deve retornar algo como:
449x352
Ok, agora você precisa adicionar seus 71 pixels desejados para obter o valor 520x352
final. Mas você não precisa fazer esse cálculo em seus próprios cérebros:
ImageMagick para o resgate !, e seus recursos de cálculo mágico ... : -)
Você pode dizer ao comando identify -format
para fazer esse cálculo para você:
identify -format '%[fx:W+71]x%H'
Isso agora deve fornecer um resultado de:
520x352
Portanto, supondo que você queira apenas adicionar uma 'faixa branca' de 71 pixels de largura à esquerda de qualquer imagem, você pode usar a seguinte linha de comando:
convert \
in.png \
-gravity east \
-background white \
-extent $(identify -format '%[fx:W+71]x%H' in.png) \
out2.png
Voila! Uma linha de comando (que encapsula 2 comandos, para ser honesto) e você pode deixar esta solta em todos os seus PNGs, JPEGs, GIFs, ... em um diretório para adicionar magicamente sua tira branca de 71 pixels para cada um deles:
for i in *.png *.jpeg *jpg *.gif; do
convert \
${i} \
-gravity east \
-background white \
-extent $(identify -format '%[fx:W+71]x%H' ${i}) \
$(convert ${i} -format "71-pixels-padded-left---%t.%e" info:)
done
Para cada imagem, sua saída permanece o mesmo tipo de arquivo. É claro que você pode impor que todas as saídas sejam PNG (ou o que você quiser). Apenas substitua a parte %t.%e
do comando por %t.png
...