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
luigi.jpg
princess-peach.jpg
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:
$ sudo apt-get install imagemagick
No RHEL/Fedora e derivados:
$ 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:
$ montage mario.jpg luigi.jpg princess-peach.jpg -tile 3x1 -geometry 200x200 all-together.jpg
E o resultado:
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:
$ montage mario.jpg luigi.jpg princess-peach.jpg -tile 2x2 -geometry 200x200 all-together-2-lines.jpg
Resultado:
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:
$ 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.