Kivy 应用中的 Gif 动画无法播放

5

我正在编写一个基于Kivy的应用程序,一个游戏,在顶部有一个动画GIF图像,应该循环播放,就像在Finder等程序中一样。但是当它加载到Kivy GUI中时,只显示了一帧。我对Kivy不熟悉,希望能够得到一些帮助解决这个问题。我使用.kv文件来加载图片:

    Image:
    source: 'spaceshipgif.gif'
    allow_stretch: True

我已经研究了kivy网站上的文档并进行了搜索,但未能找到答案。

1个回答

3
我不太记得gif的播放状态是什么 - 原则上应该能够工作,但我们的某些供应商在此方面做得比其他供应商更好。据我所记,如果您使用PIL作为图像提供程序编译kivy,则可能会有更好的效果。我认为,一些问题可能是由于技术上不正确的gif文件引起的,这些文件不能被默认提供程序很好地处理,但我对此并不确定。
更好的解决方案是将.gif的帧作为图像放入zip文件中,并将该zip的路径设置为您小部件中的图像路径。Kivy将自动为您进行动画处理,包括使更改动画速率(或暂停)变得容易,而不受gif文件问题的限制。

2
压缩文件很好用!但是现在当我调整窗口大小时,图像变成了黑色,有没有办法阻止这种情况发生? - chromebookbob
听起来像是一个 bug。你能否在 Kivy 的 Github 仓库中报告它,并提供一个简单的例子? - inclement
尝试检查屏幕大小调整并在屏幕大小调整时刷新屏幕。 - supreme
嗨@inclement,我该如何使用不同的图像提供程序,因为我遇到了类似的问题。我该如何检查当前正在使用的提供程序?谢谢。 - Jeff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接