我想在游戏背景中循环播放 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
按顺序绘制这些图像。