PILでGIF画像を開くと、モードは「P」。つまりパレットモード。透過GIFの場合、パレット内のどのカラーが透明かは分かるけど、透過GIFのImageオブジェクトをさくっとRGBAモードに変換するメソッドがPILには用意されていない。 この変換のやり方がようやく分かった。これでいろいろと合成ができる。 半年近く前にもトライして諦めたんだけど、なんでこんなコードが書けなかったのか不思議なくらい単純な方法でできた。 でも検索しても全然出てこないから、みんな分からないのだと思う。というか、そんなニーズがないのかも知れない。 コードは次の通り。 def convert_trasparent_gif_to_rgba(img): rgb_img = img.convert('RGB') transparent_color_index = img.info['transparency'] alphada
![PILで透過GIFをRGBAに - OZACC.blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/9e1b93330dd6e34d10b069bd47c2978c1c436b67/height=288;version=1;width=512/http%3A%2F%2Fblog.ozacc.com%2Fstatic%2Fimg%2Ficon%402x.png)