haskell - 如何使用任一字符串 (IO())

标签 haskell gif juicy-pixels

我正在 Haskell 中使用 Juicy Pixels 库,我想使用图像 PixelRGB8 列表制作 GIF 动画。有一个函数可以做到这一点(writeGifAnimation),但它返回一个我不知道如何使用的类型(字符串(IO()))。 有人可以帮助我吗?

我的使用方式: writeGifAnimation“test.gif”1 LoopingForever image_list

错误:无法将预期类型“IO ()”与实际类型“Either String (IO ())”匹配

库文档: https://hackage.haskell.org/package/JuicyPixels-3.3.7/docs/Codec-Picture.html#v:savePngImage:~:text=the%20same%20delay.-,writeGifAnimation,-%3A%3A%20FilePath%20%2D%3E

最佳答案

您应该检查它是否是带有 sLeft s 错误,还是带有 iRight i > 一个 IO () 操作,因此:

main :: IO ()
main = do
    -- …
    <strong>case</strong> writeGifAnimation "test.gif" 1 LoopingForever image_list <strong>of</strong>
        Left s -> fail s
        Right i -> i
    -- …

关于haskell - 如何使用任一字符串 (IO()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72849829/

相关文章:

haskell - 当前模块是否有命名空间?

haskell - Travis 上的 Haskell GHC 8.4.3 有问题吗?

performance - runInBoundThread 是并行性的最佳工具吗?

javascript - 如何伪造图片的加载 gif

linux - Sailfish-os 上的 GIF

haskell - 如何使用 JuicyPixels 写入像素? (在 ST monad 中)

haskell - 如何从(大多数)图片中提取 RGB 值?

haskell - 在haskell中解析Karva符号

php - Imagemagick动画gif尺寸优化