我有一堆名为1.png,2.png等的png文件,我想从它们中创建一个动画gif图像。我没有成功找到将这些png文件转换为单个动画gif的终端命令的解决方案。
有人可以发布一些我可以尝试的命令吗?我尝试过“转换”命令,但我的终端总是说即使我安装了ImageMagik也找不到转换。
答案 0 :(得分:13)
ImageMagick 的 convert
命令非常适用于此,但您需要以正确的顺序列出文件名。如果数字没有前导零,则使用 *.png
会混淆帧,因为顺序是按字母顺序排列的:
1.png 10.png 11.png 2.png 3.png ...
如果你使用 zsh,你可以简单地使用 glob 限定符:
convert *.png(n) out.gif
否则你可以对 ls 输出进行排序
convert $(ls *.png | sort -V) out.gif
如果您的文件名有前导零,请继续使用 *.png
。请注意,帧之间的默认延迟很小,因此根据您的用例,帧速率可能太快。要更改它,请使用 -delay
选项,例如:
convert -delay 50 *.png out.gif
这会将 FPS 设置为 100/50 = 2 帧每秒。
答案 1 :(得分:9)
convert *.png screens.gif
This answer建议使用convert
安装brew install ImageMagick
。