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