使用Python调用ImageMagick将序列图片生成GIF动态图
1)ImageMagick合并静态图片为gif基本命令如下:
$ convert -delay 0 *.bmp -loop 0 animated.gif
// 将当前目录下所有的bmp文件合成一个gif图片动画, 每帧间隔0ms, 重复播放。
// -delay n 迟延n*10毫秒
// -loop n 播放n轮, 0表示不断地重复播放
$ convert -delay 50 frame1.gif frame1.gif frame1.gif -loop 0 animated.gif
// 将 当前目录下的 frame1.gif文件制作成animated.gif动画,其中3个 frame1.gif作为一组,进行循环 播放,延迟500毫秒。
$ convert -delay 50 frame1.gif -delay 100 frame1.gif -delay 150 frame1.gif -loop 0 -pause 200 animated.gif
// 在一轮播放之后暂停200毫秒,再进行下一轮播放。
$ convert anim1.gif anim2.gif combined.gif
// 将两个动画文件合并成一个。
2)Python脚本文件/home/yizuotu.py内容如下:
import os
# 序列系列图片所在的文件夹:
folder = "/home/open"
# 输出文件output = "/home/yizuotu.gif"
# 拼出将要运行的命令字符串:
cmd = ""
# 命令:cmd += "convert"
# 遍历文件夹所有文件,将文件名写到command中
for root, dirs, files in os.walk(folder):for file in files:
cmd += " " + root + "/" + file
# 帧时间(24帧每秒):
cmd += " -set delay 1x24"
# 输出文件:
cmd += " " + output
# 运行命令
os.system(cmd)
然后,在终端运行脚本:
python /home/yizuotu.py