Juntando imagens via linha de comando

Eis que um dia você precisa juntar várias imagens e fica com preguiça só de pensar em ter que abrir algum pesadissímo software para edição de imagens. Não seria bom fazer isso da linha de comando? É muito bom.

Você tem as 3 imagens abaixo e quer uni-las lado a lado em um único arquivo.

mario.jpg Mario

luigi.jpg Luigi

princess-peach.jpg Princess Peach

Para isso vamos usar o comando montage que faz parte do ImageMagick. Caso você não tenha instalado, algum dos dois comandos resolve o seu problema.

No Ubuntu e derivados:

1
$ sudo apt-get install imagemagick

No RHEL/Fedora e derivados:

1
$ sudo yum install ImageMagick

Com tudo instalado e as imagens no diretório corrente, preciso saber o tamanho de cada uma delas e se todas forem iguais é mais fácil. No caso as minhas figuras são de 200x200.

Para juntar as imagens:

1
$ montage mario.jpg luigi.jpg princess-peach.jpg -tile 3x1 -geometry 200x200 all-together.jpg

E o resultado:

Todos juntos

A opção -tile diz como elas serão organizadas no novo arquivo, eu optei por 3 colunas e uma única linha. Se quisesse o Mario e Luigi na minha de cima e a Princesa Peach na linha de baixo:

1
$ montage mario.jpg luigi.jpg princess-peach.jpg -tile 2x2 -geometry 200x200 all-together-2-lines.jpg

Resultado:

Todos juntos, 2 linhas

Em -geometry apenas dissemos o tamanho de cada imagem. Caso as imagens sejam de tamanhos diferentes, temos que indicar -geometry após cada nome de arquivo. Exemplo:

1
$ montage mario -geometry 150x150 luigi -geometry 200x200 princess-peach.jpg -geometry 175x175 -tile 3x1 different-sizes.jpg

Como todas ferramentas do pacote, o comando montage é muito poderoso. Você pode ver mais um monte de opções para controlar distancia entre cada imagem, adicionar bordas, legendas e muitas outras coisas na página de documentação do comando.

[, , , ]

Comentários