📘
PILで透過gifを処理した際、全フレームが重なってみえてしまう。
調べ方が悪かったのか解決まで時間に30分はかかった...
最終的にはstackoverflowの方で解決策を見つけました‼️
緑のボールが転がるようなgifをつくる
以下のコードだと
main.py
from PIL import Image
frame_list = []
frame_list.append("object_1.png")
frame_list.append("object_2.png")
frame_list.append("object_3.png")
frame_list.append("object_4.png")
frame_list.append("object_5.png")
images = []
for n in frame_list:
frame = Image.open(n)
images.append(frame)
images[0].save('anitest.gif',
save_all=True,
format='GIF',
append_images=images[1:],
duration=200,
loop=0)
前フレームが残ったようなgifができる
これは disposal=2 を渡すことで解決できるそう。
images[0].save('anitest.gif',
save_all=True,
format='GIF',
append_images=images[1:],
duration=200,
disposal=2,
loop=0)
disposalの詳細はここにあるそう。
参考
Discussion