在Hackage上至少有两个解码器:stb-image(部分实现了JPEG、PNG、TGA、BMP和PSD解码器,具有非常简单的API)和pngload(用于PNG图像的纯Haskell加载器)。否则,您可以使用现有库的Haskell绑定,例如hsmagick或gd。此外,还有Codec-Image-DevIL,这是对DevIL库的Haskell绑定。它允许将图像加载到Haskell数组中,或将一个数组写入为图片。除此之外,它支持大量的图像格式,但只能用于读取/写入操作。
我发现netpbm格式和工具有很多优点:简单、简单、简单。在《Real World Haskell》一书中有关于netpbm的讨论,他们还提供了一些源代码。由于我没有这本书,所以我不知道他们是否提供了完整的库。