pillow version:5.4.1
问题是我能看到gif中的所有帧。
期望:在一个有5个帧的gif的生命周期中,每个帧都应该可见一段时间,在gif的最后只应该可见第五帧。
实际情况:在我的情况下,在gif的最后我可以看到所有帧1-2-3-4-5。
gif动画中有5个帧,所有帧都是gif格式(静态),我也尝试过使用png文件,但结果相同。
我所有的帧都有透明背景。
from PIL import Image
frame_list = []
frame_list.append("object_1.gif")
frame_list.append("object_2.gif")
frame_list.append("object_3.gif")
frame_list.append("object_4.gif")
frame_list.append("object_5.gif")
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)
如果有人遇到了相同的问题,请让我知道我做错了什么? 使用下面的代码,使用imageio可以工作,但我失去了透明度,而且与PIL相比非常慢。
images = []
for filename in names:
images.append(imageio.imread(filename))
imageio.mimsave('anitest.gif', images,duration=0.3)
save(..., disposal=N)
进行实验。 - Mark Setchell