针对我之前的问题(使用Python打开GIF图像时,图像帧出现问题),现在我有了有时可以运行的代码。
例如,下面是示例代码:
from PIL import Image
img = Image.open('pigs.gif')
counter = 0
collection = []
current = img.convert('RGBA')
while True:
try:
current.save('original%d.png' % counter, 'PNG')
img.seek(img.tell()+1)
current = Image.alpha_composite(current, img.convert('RGBA'))
counter += 1
except EOFError:
break
该工具在大多数GIF上完美运作,但在其他一些GIF上会产生奇怪的结果。例如,当应用于这个2帧的GIF时:
它将生成以下两个帧:
第一个还可以,第二个就不太行了。
现在怎么办?