Loading

python生成GIF

python生成给GIF的库是imageio

我们在命令行安装这个库

pip install imageio

安装完成后编写代码

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
import os
import conf
import imageio
from pygifsicle import optimize


def compose_gif(name):
    """生成gif图片"""
    images_path = ["001.png","002.png","003.png"] # 图片路径组成的列表
    gif_images = []
    for path in images_path:
        gif_images.append(imageio.imread(path)) # 将所有的图片使用imageio.imread方法添加进数组
    
    # 使用mimsave方法生成,gif FPS=5,帧与帧之间的间隔时间为0.075
    # 该代码已在MacOS系统上测试过
    imageio.mimsave("{}.gif".format(name), gif_images, fps=5, duration=0.075)
    
   
    # optimize("{}.gif".format(name))  # pygifsicle压缩GIF的,但是颜色会显示失真
	
    # 下面这两行代码据说能提高GIF质量,但是我看不出啥区别,可能眼拙
    # 参考来源:http://cn.voidcc.com/question/p-sbtgksmg-bnp.html
    # kwargs_write = {'fps': 1.0, 'quantizer': 'nq'}
    # imageio.mimsave("{}.gif".format(name), gif_images, 'GIF-FI', **kwargs_write)

if __name__ == '__main__':
    compose_gif('gif001')

  • 优化GIF大小,安装pygifsicle库

    pip install pygifsicle
    

    两种使用方法:

    optimize(gif_path, "optimized.gif") # 用于创建一个新的
    optimize(gif_path) # 用于覆盖原始的
    

使用以上代码即可使用python生成GIF。

参阅官方文档:https://imageio.readthedocs.io/en/stable/examples.html

posted @ 2020-05-01 11:16  随风挥手  阅读(1288)  评论(0编辑  收藏  举报
群1
299524235(满)
群2
362812191