web-dev-qa-db-fra.com

Comment créer un gif transparent (ou png) avec PIL (imagerie python)

Essayer de créer un gif transparent avec PIL. Jusqu'à présent, j'ai ceci:

    from PIL import Image

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

Tout ce que j'ai trouvé jusqu'à présent fait référence à la manipulation d'une image existante pour ajuster ses paramètres de transparence ou la superposition d'une image transparente sur une autre. Je veux simplement créer un GIF transparent (pour ensuite dessiner).

23
gratz

Le script suivant crée un GIF transparent avec un cercle rouge dessiné au milieu:

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)

et pour le format PNG:

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