web-dev-qa-db-ja.com

PIL(python-imaging)で透明なgif(またはpng)を作成する方法

create PILを使用した透明GIFをしようとしています。これまでのところ私はこれを持っています:

    from PIL import Image

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

これまでに見つけたものはすべて、既存の画像を操作して透明度の設定を調整したり、透明な画像を別の画像にオーバーレイしたりすることです。透明なGIFを作成したいだけです(次に描画するため)。

23
gratz

次のスクリプトは、真ん中に赤い円が描かれた透明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')
40
ekhumoro