首页 Python通用模块 Pillow图像列表frames生成GIF动态图方法详解
pay pay

Pillow图像列表frames生成GIF动态图方法详解

日期: 三月 17, 2023, 2:33 p.m.
栏目: Python通用模块
阅读: 200
作者: Python自学网-村长

摘要: 使用Pillow,可以轻松地生成GIF动态图,只需要将每一帧图像按照一定的顺序保存到一个列表中,然后使用Image.save()方法将列表中的图像保存为GIF文件即可。

使用Pillow,可以轻松地生成GIF动态图,只需要将每一帧图像按照一定的顺序保存到一个列表中,然后使用Image.save()方法将列表中的图像保存为GIF文件即可。

以下是一个将多张图像合成为GIF动态图的示例:

from PIL import Image, ImageDraw

# 创建一个空的图像列表
frames = []

# 创建一系列图像并将其添加到列表中
for i in range(10):
    # 创建一个新的图像
    im = Image.new('RGB', (200, 200), (255, 255, 255))

    # 在图像上绘制一个圆形
    draw = ImageDraw.Draw(im)
    draw.ellipse((i*10, i*10, 200-i*10, 200-i*10), fill=(255, 0, 0))

    # 将图像添加到列表中
    frames.append(im)

# 保存图像列表为GIF文件
frames[0].save('example.gif', save_all=True, append_images=frames[1:], duration=100, loop=0)

在此示例中,首先创建一个空的图像列表frames,然后创建一系列图像并将其添加到列表中。每张图像都是一个白色背景上的一个红色圆形,圆形的大小和位置随着循环变量i的变化而变化。然后,使用frames[0].save()方法将图像列表保存为GIF文件,其中save_all=True表示保存所有帧,append_images=frames[1:]表示将剩余的帧添加到第一帧后面,duration=100表示每帧的显示时间为100毫秒,loop=0表示无限循环。

最后,运行上述代码将生成一个名为example.gif的GIF动态图,其中圆形大小和位置随时间变化而变化。可以使用任何支持GIF格式的图像查看器来打开和查看生成的GIF动态图。

部分文字内容为【Python自学网】原创作品,转载请注明出处!视频内容已申请版权,切勿转载!
回顶部