最近偶尔看到一位朋友询问使用 Python 生成 GIF 动图。
其实是有很多制作动图的软件,但是自己丰衣足食,使用代码来实现,想想还是挺不错的。喜欢记得收藏、点赞、关注。
注:完整代码、技术交流文末获取
效果图
那我自己的图为例,呈现效果要看你使用的图片数,首先来看动图效果:
代码
这个制作过程很简单,我们直接贴上代码,拿代码来说:
首先呢!安装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中,只需要短短几行代码,便可做出如上动图。另外,通过这种方法做出的图好像是对静态图片没有限制。挺好用的。