Eu gostaria de combinar várias imagens em uma imagem usando o ImageMagick. Para explicar um pouco melhor, quero que o resultado seja semelhante a este:

Ou seja, tenho várias capturas de tela e quero transformá-las em uma imagem com as imagens originais uma em cima da outra.
Pesquisando no Google, eu me deparei com o comando 'composite', mas não sei se e, nesse caso, como usá-lo para obter o resultado desejado.
Para qualquer número de arquivos de entrada
nomeado in-<alguma coisa>.jpg
:
convert -append in-*.jpg out.jpg
A fim de ter arquivos específicos anexados, ou pular números em vez de obter o "glob" completo, você pode mencionar os arquivos de entrada explicitamente e colocar o append
comando depois
converter in-1.jpg in-5.jpgN.jpg + acrescente out-in1-plus-in5-e-inNjpg
Você pode usar -append
(ao invés de +append
) para colar vertical.
Ou:
montage -mode concatenate -tile 1x in-*.jpg out.jpg
também criará um arquivo out.jpg
que contém uma concatenação vertical das imagens de origem.
convert
Para concatenação simples em uma única linha ou coluna, o append
opção do convert
ferramenta é suficiente. Observe que -append
concatena todas as imagens verticalmente, criando uma coluna com n fileiras
e +append
concatena horizontalmente, criando uma linha com n colunas.
(Vejo ImageMagick: Opções de linha de comando.)
montage
Para obter um melhor controle sobre o layout, precisaríamos do montage
ferramenta. montage -mode concatenate
irá colar as imagens de entrada juntos como o append
opção e -tile 1x
controla o layout a ser aplicado.
tile
segue o formato colunas×linhas, mas ambos os lados podem estar faltando e montage
vai descobrir como atender as restrições.
Estamos usando 1x
(exatamente uma coluna com qualquer número de linhas) para obter o mesmo efeito -append
. Sem -tile 1x
, juntaria as imagens como +append
, padronizando para -tile x1
(qualquer número de colunas em uma linha).
(Vejo Exemplos ImageMagick: Montagem, Arrays de Imagens.)