PIL在gif中显示所有先前的帧

Cor*_*ral 3 python gif python-imaging-library

pillow version:5.4.1
Run Code Online (Sandbox Code Playgroud)

问题是我可以在gif中看到所有框架。

期望值:在具有5帧的gif的生命周期中,每个帧在一段时间内都应该可见,而在gif结束时,仅第5帧应该可见。

实际:就我而言,在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)
Run Code Online (Sandbox Code Playgroud)

如果有人遇到相同的问题,请告诉我我做错了什么?

在此处输入图片说明

使用imageio的以下代码可以正常工作,但我失去了透明度,并且比较PIL的速度很慢

images = []
for filename in names:
    images.append(imageio.imread(filename))
imageio.mimsave('anitest.gif', images,duration=0.3)
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 5

我认为“处置”的设置不正确。尝试:

images[0].save('anitest.gif',
               save_all=True,
               format='GIF',
               append_images=images[1:],
               duration=200,disposal=2,
               loop=0)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明