我想更改 gif 动画的循环标题值,特别是这个:
我正在尝试使用 python 成像库 PIL,并根据 另一个问题提出了以下内容。
import PIL as p
a=p.Image.open('Unfasor.gif')
loop = a.info['loop']
a.save('out.gif',loop=10)
这会重新保存 gif,但它不再是动画的。
注意循环属性的值目前为 0:
>>> a.info
{'duration': 0, 'version': 'GIF89a', 'loop': 0, 'extension': ('NETSCAPE2.0', 27L)}
如何导出为具有非零循环值的工作动画 gif?我愿意使用其他库。
注意。我这样做的原因是我想将图像放入 powerpoint-2007 演示文稿中并且已经看到看到此循环值是限制因素的建议。
在我的机器上,使用 PowerPoint 2011,该图像按原样工作。
请注意,它在“编辑”模式下不是动画的,但在“幻灯片放映”模式下它会像上面那样显示动画。
您使用的是哪个版本的 PowerPoint?您尝试过幻灯片模式吗?
我希望编辑模式下的非动画是故意的。我可以看到当你进行幻灯片布局时变得非常乏味:)
我在更改 apng 文件的循环计数时遇到了类似的问题。
根据 Pillow 文档:
“保存调用save()时,默认只保存单帧PNG文件 将会被拯救。要保存 APNG 文件(包括单帧 APNG), save_all 参数必须设置为 True。”
from PIL import Image as PillowImage
with PillowImage.open('./image/001.png') as image:
loop = image.info['loop']
image.save('out.png', save_all=True,loop=0)
通过应用 save_all 参数, apng 现在可以根据需要循环多次。 不管怎样,很高兴我看到这篇文章,它帮助我解决了我的问题。