PNG 파일에서 애니메이션 GIF 만들기

PNG 파일에서 애니메이션 GIF 만들기

gif파일 세트에서 애니메이션을 만들 수 있는 도구가 있습니까 png?

나는 convert명령을 시도했다이미지 마술사키트이지만 이것이 항상 성공적인 것은 아닙니다. 또한 이에 대해 몇 가지 질문이 있습니다.

  1. 어떻게 됐는지 말할 수가 없어요.
  2. 내가 무엇을 시도하더라도 -delay플래그는 gif 애니메이션의 프레임 속도를 변경하지 않습니다.
  3. convert프레임 순서는 파일 이름의 알파벳 순서에 따라 결정됩니다. 이는 이후 대신 0을 추가하여 이 문제를 수정할 수 있는 name500.png이후에 배치된다는 의미이지만 이는 성가신 일입니다.name50.pngname450.png

답변1

ImageMagick은 convert이를 수행하는 편리한 명령줄 도구입니다. cd당신이 들어있는 폴더로PNG-files를 선택하고 다음 명령을 실행하세요.

convert -delay 10 -loop 0 *.png animation.gif

원천:http://ubuntuforums.org/showthread.php?t=1132058

답변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

고쳐 쓰다:

convertpng를 gif로 변환한 다음 사용하는 데 사용됩니다 .애니메이션 스틱애니메이션용. 모든 문제를 해결하는 애플리케이션은 아니지만 확실히 스크립트가 가능합니다.


할 수 있는애니메이션 GIF 만들기타이밍/지연 및 반복 제어 제공

관련 정보