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