【发布时间】:2014-03-26 15:27:09
【问题描述】:
在我之前的问题 (Gifs opened with python have broken frames) 之后,我现在有了有时可以工作的代码。
比如这段代码
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 时:
它产生这两个帧:
第一个还可以,第二个没那么多。
现在呢?
【问题讨论】:
-
尝试查看第二帧而不用第一帧进行堆肥,看看它是否是它应该是什么像素已经改变和没有改变。