gif
파일 세트에서 애니메이션을 만들 수 있는 도구가 있습니까 png
?
나는 convert
명령을 시도했다이미지 마술사키트이지만 이것이 항상 성공적인 것은 아닙니다. 또한 이에 대해 몇 가지 질문이 있습니다.
- 어떻게 됐는지 말할 수가 없어요.
- 내가 무엇을 시도하더라도
-delay
플래그는 gif 애니메이션의 프레임 속도를 변경하지 않습니다. convert
프레임 순서는 파일 이름의 알파벳 순서에 따라 결정됩니다. 이는 이후 대신 0을 추가하여 이 문제를 수정할 수 있는name500.png
이후에 배치된다는 의미이지만 이는 성가신 일입니다.name50.png
name450.png
답변1
ImageMagick은 convert
이를 수행하는 편리한 명령줄 도구입니다.
cd
당신이 들어있는 폴더로PNG-files를 선택하고 다음 명령을 실행하세요.
convert -delay 10 -loop 0 *.png animation.gif
답변2
최신 버전의 ffmpeg에는 -sameq(FAQ 보기) 그러나 GIF는 지원됩니다.
ffmpeg -i %03d.png output.gif
여기서 %03d는 3자리 프레임 ID입니다.
ffmpeg
일련의 이미지를 사용하여 동영상을 만든 다음 해당 동영상을 애니메이션 GIF로 변환해 볼 수도 있습니다 (다시 ffmpeg
).
# cf. http://pages.uoregon.edu/noeckel/MakeMovie.html
# first convert an image sequence to a movie
ffmpeg -sameq -i %03d.jpg output.mp4
# ... and then convert the movie to a GIF animation
ffmpeg -i output.mp4 -pix_fmt rgb24 -s qcif -loop_output 0 output.gif
답변3
convert
이 옵션은 --delay
명령줄의 다음 이미지에만 적용됩니다. 따라서 convert -delay 10 *
첫 번째 프레임의 지연만 0.1초로 설정됩니다. 이 옵션을 반복해야 합니다.
convert $(for a in *; do printf -- "-delay 10 %s " $a; done; ) result.gif
정렬 요구 사항을 수용하기 위해 Convert는 프레임을 정렬하지 않지만 Shell globbing은 프레임을 *
정렬합니다. 프레임 번호가 0부터 700까지라는 것을 알고 있다면 직접 숫자를 계산할 수 있습니다.
convert $(for ((a=0; a<700; a++)); do printf -- "-delay 10 name%s.png " $a; done;) result.gif
답변4
고쳐 쓰다:
convert
png를 gif로 변환한 다음 사용하는 데 사용됩니다 .애니메이션 스틱애니메이션용. 모든 문제를 해결하는 애플리케이션은 아니지만 확실히 스크립트가 가능합니다.
단할 수 있는애니메이션 GIF 만들기타이밍/지연 및 반복 제어 제공