【Python】PillowでAPNGを作る
PythonモジュールのPillow(PIL)で、APNG(アニメーションPNG)を作ってみましょう。
おおよその指定の仕方は、アニメGIFを作る方法と一緒です。
アニメGIFと対して違いがないのに、なんでネット上にあまり記事がないんだろ...
APNGには、Pillowの7.1から完全に対応したようです(最新版は執筆現在で8.1)。
アニメGIFと同じように設定し、拡張子を”png”にするだけ
で出力が可能です。
imgs = [] # Pillow形式で保存された画像の配列 imgs[0].save("result.png", # 保存名の拡張子をpngにする save_all=True, # 全ての画像を保存 append_images=imgs[1:], # imgsの1番以降の画像を保存 optimize=False, # 最適化処理は実行しません duration=1000//30, # 切り替えタイミングをミリ秒で設定。この場合は30fps loop=0 # ループの回数を設定。0なら無限ループ )
こんな感じでAPNGが保存されました。
容量はちょっと重いですけど、透過も色彩もGIFより全然きれいです。