最近偶尔看到一位朋友询问使用 Python 生成 GIF 动图。

其实是有很多制作动图的软件,但是自己丰衣足食,使用代码来实现,想想还是挺不错的。喜欢记得收藏、点赞、关注。

注:完整代码、技术交流文末获取

效果图

那我自己的图为例,呈现效果要看你使用的图片数,首先来看动图效果:

PYTHON 如何设置GIF的背景图 python制作gif_PYTHON 如何设置GIF的背景图


PYTHON 如何设置GIF的背景图 python制作gif_PYTHON 如何设置GIF的背景图_02


PYTHON 如何设置GIF的背景图 python制作gif_PYTHON 如何设置GIF的背景图_03

代码

这个制作过程很简单,我们直接贴上代码,拿代码来说:

首先呢!安装imageio库;接着如下代码中的注释,首先读取静态图到列表,作为GIF的每一帧;接着设置输入(静态图)、输出(动态图)和一些必要参数,我们这里设置每一帧间隔时间为1.5秒,默认是1秒,之后调用miageio.mimsave函数去保存结果。

import imageio
def create_gif(image_list, gif_name, duration = 1.0):
    '''
    :param image_list: 这个列表用于存放生成动图的图片
    :param gif_name: 字符串,所生成gif文件名,带.gif后缀
    :param duration: 图像间隔时间
    :return:
    ''' 
    frames = []
    for image_name in image_list:
        frames.append(imageio.imread(image_name))

    imageio.mimsave(gif_name, frames, 'GIF', duration=duration)
    return

def main():
    
    image_list = ['1.jpg', '2.jpg', '3.jpg']
    gif_name = 'new.gif'
    duration = 1.5
    create_gif(image_list, gif_name, duration)

if __name__ == '__main__':
    main()

在python中,只需要短短几行代码,便可做出如上动图。另外,通过这种方法做出的图好像是对静态图片没有限制。挺好用的。