最近遇到一个问题是,画了一个过程的图,为了更生动地展示出来,于是就想把这几张图合成一个gif图片,这样起来应该是不错的,于是在网上搜索了一些关于python如何将一些png图片转为gif的程序,自己实现更改如下。
系统:win10
python版本:3.6
所需安装工具包:imageio (pip install imageio 即可)
import imageio
import os
import sys
def create_gif(source, name, duration):
"""
生成gif的函数,原始图片仅支持png
source: 为png图片列表(排好序)
name :生成的文件名称
duration: 每张图片之间的时间间隔
"""
frames = [] # 读入缓冲区
for img in source:
frames.append(imageio.imread(img))
imageio.mimsave(name, frames, 'GIF', duration=duration)
print("处理完成")
def main(or_path):
"""
or_path: 目标的文件夹
"""
path = os.chdir(or_path)
pic_list = os.listdir()
gif_name = "result.gif" # 生成gif文件的名称
duration_time = 0.5
# 生成gif
create_gif(pic_list, gif_name, duration_time)
if __name__ == '__main__':
parm_list = sys.argv
if len(parm_list) != 2:
print("请输入需要处理的文件夹!")
else:
main(parm_list[1])