This is the beginnings of a pure Haskell loader for PNG images. It
stores the uncompressed image in a StorableArray (Int,Int) Word8, so
it should be convenient to use as a texture loader in OpenGL
applications since you can get a Ptr Word8 to the image data easily.
The performance is reasonable (the following run loads an 1.5megabyte
1024x768 24bit PNG image and writes out the raw bytes on a 2GHz
Mars2:PNG marko$ time ./Test scenery_1
Source for the test is in Test.hs.
Note that the library has not been tested with every possible kind of
PNG images, so use at your own risk.