-1

我想在游戏背景中循环播放 GIF 图像(例如使用 Gloss Juicy 或模块 Codec.Picture.Gif)

设法使用这样的 BMP 图像:

image :: IO Picture 
image = loadBMP "image.bmp"

但现在我想对 GIF 图像做同样的事情:

loadGifFile :: FilePath -> IO Image 
loadGifFile = "image.gif"

无法让它工作。

感谢任何提示如何做到这一点。

4

1 回答 1

2

你将不得不做更多的工作。loadBMP只需将 BMP 文件加载到位图中,这是单个图像。然而,动画 GIF 是一种更复杂的文件格式,其中包含多个帧。GLOSS 根本不支持开箱即用。

您可以使用JuicyPixels解码 GIF 文件,然后编写一些代码将其转换为 GLOSS 位图列表。然后用于animate按顺序绘制这些图像。

于 2019-02-26T16:18:11.623 回答