如何用PIL创建透明gif(或png)

44 投票
1 回答
70251 浏览
提问于 2025-04-17 07:40

我正在尝试用PIL库制作一个透明的GIF动图。目前我有了这个:

    from PIL import Image

    img = Image.new('RGBA', (100, 100), (255, 0, 0, 0))
    img.save("test.gif", "GIF", transparency=0)

到目前为止,我找到的资料都是在讲如何调整已有图片的透明度,或者把一个透明的图片叠加到另一个上面。我只是想创建一个透明的GIF动图(然后在上面绘图)。

1 个回答

68

下面这个脚本会生成一个透明的GIF图像,中间有一个红色的圆圈:

from PIL import Image, ImageDraw

img = Image.new('RGBA', (100, 100), (255, 0, 0, 0))

draw = ImageDraw.Draw(img)
draw.ellipse((25, 25, 75, 75), fill=(255, 0, 0))

img.save('test.gif', 'GIF', transparency=0)

如果你想要PNG格式的图像,可以使用这个:

img.save('test.png', 'PNG')

撰写回答