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

Imagemagick convert命令:设置最后一帧的延迟时间,imagemagick,Imagemagick,我有一些名为“_tmp*.png”的.png文件,我想通过使用imagemagick的convert命令将它们转换为gif文件。所以我可以用 convert -delay 20 _tmp*.png result.gif 但是,我希望最后一帧在屏幕上保持一段时间,以便可以更清楚地看到动画的结尾。比如说,我希望最后一帧持续3秒,同时保持其他帧的延迟时间不变。我研究了convert命令的文档,但它似乎没有这样的选择 那么,如何使用convert命令实现这一点呢 您可以这样做: convert -de

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

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


那么,如何使用convert命令实现这一点呢

您可以这样做:

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

Serchell:谢谢!但是我的图像文件的编号类似于_tmp%03d.png,其中数字的范围从0到N,N取决于程序的输入,在这种情况下我该如何做?假设您知道
N
,使用
convert-delay 40-delay 300 result.gif
我想在python脚本中调用convert命令,所以我必须将convert命令作为字符串编写,类似于
subprocess.call(['convert','-delay','40','{1…N}.png'])