如何加载动画GIF并获得Pygame中的所有单独帧?

2024-05-13 08:41:31 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,对不起,如果这是重复的。我找到的答案要么看起来无关紧要,但也许我用错了关键词。我想做的是把一个动画GIF分成一个帧列表。基本上是这样的:

frames = []
for frame in split_animated_gif("some_animated_gif.gif"):
    frames.append(frame)

其中split_animated_gif按顺序返回曲面列表,每个曲面都是gif的一帧。谢谢你的帮助。在

编辑:经过更多的窥探,我发现了一段代码,它成功地在pygame中显示了一个GIF动画。它可以在https://github.com/piantado/kelpy/blob/master/kelpy/GIFImage.py找到。不过,我们非常感谢你的帮助。在


Tags: 答案in列表forframes动画somegif
1条回答
网友
1楼 · 发布于 2024-05-13 08:41:31

Pygame本身不支持动画gif,这在文档中有说明。所以你必须

1)加载精灵或图像时,使用其他代码/库拆分gif。那些你只需在谷歌上搜索“python split gif”或其他东西就可以找到。E、 g.Python: Converting GIF frames to PNG

2)如果您自己创建了gif,只需逐帧再次导出精灵

无论哪种方式,你都必须手工制作动画部分。在谷歌上搜索“pygame动画”可以找到很多教程。E、 g.Animated sprite from few images

相关问题 更多 >