如何使用python将多个png图片转为gif

前言

最近遇到一个问题是,画了一个过程的图,为了更生动地展示出来,于是就想把这几张图合成一个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])

程序运行

为了以后(如果需要的话),便于集成,主要使用dos窗口进行操作,其操作如下:

结果就不再展示。

个人订阅号

第一个订阅号侧重于:使用c/c++/java去实现一些经典算法,以及javaEE开发,Linux服务器操作等。第二个订阅号主要侧重于机器学习,深度学习,数学,自然语言处理等方面的知识。







  目录