我有一些名为' _tmp * .png'的.png文件我想通过带有imagemagick的convert命令将它们转换为gif文件。所以我可以使用
convert -delay 20 _tmp*.png result.gif
但是我希望最后一帧在屏幕上保持一段时间,以便人们可以更清楚地看到动画的结尾。说,我希望最后一帧持续3秒,同时保持其他帧的延迟时间不变。我研究了convert命令的文档,但似乎没有这样的选择。
那么如何使用convert命令执行此操作?
答案 0 :(得分:8)
你可以这样做:
convert -delay 40 {1..9}.png -delay 300 10.png -delay 40 {11..14}.png animated.gif
基本上,您设置延迟在之前您希望它影响的图像,并且在您更改之前它会一直保持设置。
如果你想设置一个可变延迟,那么第一个(即黑色)和最后一个帧(即黄色)显示的时间更长,你可以这样做:
convert -size 300x200 xc:black xc:red xc:lime xc:blue xc:cyan xc:magenta xc:yellow -set delay '%[fx:t==(n-1) || t==0 ? 400 : 40]' result.gif