Estou usando ImageMagick para compor muitas imagens.
for counter in {1..$limit}
do
partial=...
x=...
y=...
convert $canvas
$partial -geometry "+$x+$y" -composite
$canvas
done
Basicamente, estou mogrificando N imagens, uma de cada vez.
Agora meu $limit
é pequeno e o script é executado em tempo razoável. Mas $limit
aumentará para milhares de imagens no futuro.
Estou pensando em construir o convert
comando para incluir todos os parciais de uma vez. Em seguida, execute apenas convert
uma vez. ImageMagick afirma que pode trabalhar com imagens de terabit sem problemas. Então eu imagino que dar milhares de tarefas de uma vez não deve ser um problema.
O problema é que o shell limita o número de argumentos que você pode passar para um programa. Posso passar todos os argumentos para o ImageMagick de alguma outra forma, como um arquivo de script? E isso é uma má ideia?
Você pode passar opções do ImageMagick de um arquivo, passando-lhe um
@filename
argumento, caso em que o ImageMagick lerá os argumentos do arquivo passado.Da documentação (consulte a seção "Referências de arquivo"):
Portanto, esse recurso foi projetado especificamente para reduzir as limitações no comprimento da linha de comando e no número de argumentos.