haskell - 如何在 Haskell 中从计算机加载 GIF 图像?
问题描述
我想在游戏背景中循环播放 GIF 图像(例如使用 Gloss Juicy 或模块 Codec.Picture.Gif)
设法使用这样的 BMP 图像:
image :: IO Picture
image = loadBMP "image.bmp"
但现在我想对 GIF 图像做同样的事情:
loadGifFile :: FilePath -> IO Image
loadGifFile = "image.gif"
无法让它工作。
感谢任何提示如何做到这一点。
解决方案
你将不得不做更多的工作。loadBMP
只需将 BMP 文件加载到位图中,这是单个图像。然而,动画 GIF 是一种更复杂的文件格式,其中包含多个帧。GLOSS 根本不支持开箱即用。
您可以使用JuicyPixels解码 GIF 文件,然后编写一些代码将其转换为 GLOSS 位图列表。然后用于animate
按顺序绘制这些图像。
推荐阅读
- python - 詹金斯管道的点子路径错误
- asp.net - Silverlight 中的自定义网格控件
- typescript - Catch 块的笑话单元测试方法失败
- python - 循环遍历整个列表
- android - 对单个文件使用 Firebase 存储?
- excel - 对象变量或未设置块变量 - 在 VBA 中使用查找选项
- odbc - 将数据加载到 Snowflake 时经常出现但不常见的错误
- video - ffmpeg 和 uscreencapture 没有全屏显示
- printing - 使用 Python 或硬件从 ECS/POS 软件的 USB 输出端口读取发送到打印机的数据
- python - NVSUMSS 地图不匹配