C++SDL2|如何在SDL2中播放GIF
C++ SDL2 | How do I play a GIF in SDL2?
我知道这个话题已经被提起了,但我永远无法从页面中得到任何东西。我回答的一条线索是,我需要把GIF分成每一帧,但怎么做呢?如果能提供一些代码,我们将不胜感激。非常感谢。
使用GIFLIB读取gif动画。GIFLIB提供了一个方便的"slurp"函数,可以将整个文件读取到结构中,然后可以很容易地从中检索帧。这已经有一段时间了,但IIRC在从一个gif框架构建SDL_Texture
时,需要从调色板中查找每个像素的颜色。由于gif没有一个固定的帧速率,您还需要存储每帧的单独延迟时间。阅读本文了解gif文件格式的详细描述,它将帮助您理解GIFLIB。
也就是说,我建议不要在过场(和大多数其他事情)中使用笨重的GIF格式,因为它非常占用空间,而且你可能无法很好地同步音频。我建议四处寻找一种播放"真实"视频格式的方法——看看这个项目。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- SFML纹理像播放器
- 根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
- 如何收听Windows当前正在播放的声音?
- GStreamer在开始任何播放之前进行搜索
- (SFML)按下键时,播放器构造函数未使用正确的动画进行更新
- 如何使用libav编写.mov文件,如果文件未正确完成,则可以播放
- C++新手,想知道如何使用VS code 2019播放音频文件
- 在C++不适用于猜数字游戏的情况下再次播放选项
- 按列随机播放 2D 矢量
- 如何以编程方式将音频从任何录制设备路由到任何播放设备
- 使用 IMFSinkWriter 编码的视频的播放速度会根据宽度而变化
- 测试驱动开发 c++:如何将对象添加到向量中,将歌曲添加到播放列表并对其进行测试
- 如何在C++中播放声音?
- 旋转播放器模型以指向一个点
- 大声音频无法播放
- 怎么可能只让设备使用 pjsua2 捕获或播放
- 播放器未在程序中的"X"和"O"之间切换
- 为什么这个函数会循环播放?
- C++SDL2|如何在SDL2中播放GIF