Preserve o tamanho da imagem ao converter imagens para gif

0

Tenho muitas fotos (1761), em uma pasta, e quero convertê-las em um gif. Eles são uma variedade de tamanhos, e eu gostaria que esses tamanhos fossem preservados.

Eu emiti o comando convert -delay 1000 -loop 0 *.jpg animated.gif que produziu o gif animado, mas todos os tamanhos de imagem foram reduzidos para 250px por 140px. Como posso fazer meu gif animado e ter o comando convert ignorando o fato de que as imagens têm tamanhos diferentes?

usar o convert não é um requisito, é exatamente o que eu usaria normalmente. Eu me lembro de ter trabalhado anteriormente, mas não está fazendo isso agora.

O tamanho da primeira imagem é: 927x1200px este é o maior, e eu pensei que usaria isso para o tamanho de todas as imagens.

    
por j0h 23.12.2016 / 07:26

1 resposta

1

Uma maneira de fazer isso em diferentes etapas é primeiro converter as imagens .jpg para o mesmo tamanho e criar um gif animado.

Por exemplo:

mkdir CONVERTED
for i in *.jpg; do convert $i -size 927x1200 xc:black +swap -gravity center -composite ./CONVERTED/$i; done
convert -delay 1000 -loop 0 ./CONVERTED/*.jpg animated.gif

Isto faz: Para cada imagem crie uma nova imagem de tamanho 927x1200 na subpasta CONVERTER, mantenha o tamanho da imagem, centralize-a com borda preta.

Se você deseja que as imagens sejam redimensionadas de forma que elas caibam no tamanho da saída, você também pode redimensioná-las:

for i in *.jpg; do convert "$i" -resize 927x1200 -size 927x1200 xc:black +swap -gravity center -composite ./CONVERTED/"$i"; done

Em vez de fazer gif animado (que pode se tornar muito grande), talvez você queira criar um filme usando photofilmstrip (nas imagens convertidas).

    
por ridgy 23.12.2016 / 13:39