Imagemagick convert命令:设置最后一帧的延迟时间

时间:2016-10-22 10:22:39

标签: imagemagick

我有一些名为' _tmp * .png'的.png文件我想通过带有imagemagick的convert命令将它们转换为gif文件。所以我可以使用

convert -delay 20 _tmp*.png result.gif

但是我希望最后一帧在屏幕上保持一段时间,以便人们可以更清楚地看到动画的结尾。说,我希望最后一帧持续3秒,同时保持其他帧的延迟时间不变。我研究了convert命令的文档,但似乎没有这样的选择。

那么如何使用convert命令执行此操作?

1 个答案:

答案 0 :(得分:8)

你可以这样做:

convert -delay 40 {1..9}.png -delay 300 10.png -delay 40 {11..14}.png animated.gif 

enter image description here

基本上,您设置延迟之前您希望它影响的图像,并且在您更改之前它会一直保持设置。

如果你想设置一个可变延迟,那么第一个(即黑色)和最后一个帧(即黄色)显示的时间更长,你可以这样做:

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

enter image description here