当前位置:编程学习 > python >>

使用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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,