Python通过多帧静态图像制作GIF动态图像

2016-08-19 董付国 Python小屋 Python小屋

下面的代码可以把多个png图像文件合并为一个GIF动态图像文件,如果无法正常执行的话,除了需要使用pip安装pillow和images2fig扩展库之外,很可能还需要找到扩展库images2gif的主文件images2gif.py,然后把第426行代码

palettes.append( getheader(im)[1] )

改为

palettes.append( im.palette.getdata()[1] )

然后再执行下面的程序。

import os

import os.path

from PIL import Image

import images2gif


def pngs2gif(gifName, path, duration=0.1, np=0.1):    

    pngFiles = [f for f in os.listdir(path)]

    pngFiles.sort(key=lambda f: int(f[:-4]))

    pngFiles = [os.path.join(path, f) for f in pngFiles]

    images = []

    for f in pngFiles:

        images.append(Image.open(f))

    images2gif.writeGif(gifName, images, duration, np)


pngs2gif('abc.gif', 'test')



温馨提示:单击文章顶部作者名字旁边浅蓝色的“Python小屋”进入公众号,关注后可以查看更多内容!


欢迎转发给您的朋友,或许这正是Ta需要的知识!