2014-08-31 2 views
2

이미지를 애니메이션 GIF로 변환하고 싶은 스크립트가 있습니다. 아아, 그들은 적절한 순서가 아닙니다! ... 19,1,20,21 ... 10,11,12로 오름차순 정말 1,2,3,4에서 필요로하는 곳에 ....이미지를 순서대로 변환하는 방법

#!/bin/bash 
for i in `seq 0 22` 
do 
convert -size 99x99 xc:red -font Palatino-Bold -pointsize 66 \ 
     -fill black -draw "text 20,55 '$i'" $i.png 
done 
convert -delay 50 -loop *.png output.gif 

enter image description here

GIF를 올바른 순서로 애니메이션화하려면 어떻게해야합니까?

답변

4

처음부터 적절하게 이름을 지정하십시오.

"$(printf "%02d" "$i").png" 
+0

png 수가 99 이하이면이 방법이 유용합니다. 문제의 일부는 사용자가 선택할 수있는 프레임 수에 대해서는 잘 모릅니다. 100 개 이상의 PNG가 있으면이 방법도 엉망이됩니다. – j0h

+2

그렇다면 필요한 공간의 수를 크게하십시오. '% 08d'. –

2

또 다른 방법 : 파일 숫자로 변환을 전달하기 전에

정렬.

convert -delay 50 -loop $(ls *.png | sort -n) output.gif 
+0

이 줄을 실행하면 imagemagick에서 일종의 오류 :: "IHDRc N PLTE s 8 ' @ error/convert.c/ConvertImageCommand/1901이 발생합니다." – j0h

+0

@ j0h, 내 업데이트를 참조하십시오. –

관련 문제