pngload-fixed: Pure Haskell loader for PNG images

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.


This package provides a simple PNG loader for PNG images. It currently supports 24bit RGB(A) images with no interlacing. This fixed version is the same as pngload-0.1, but without the haskell98 dependency.

[Skip to ReadMe]


Versions1.0, 1.0
Change logNone available
Dependenciesarray, base (>=3 && <5), bytestring, mtl, parsec (>=3.0.0), zlib [details]
Copyright(c) 2008 Marko Lauronen
AuthorMarko Lauronen <>
MaintainerRob Agar <>
UploadedTue Jul 22 16:02:21 UTC 2014 by robagar



Maintainers' corner

For package maintainers and hackage trustees

Readme for pngload-fixed-1.0

[back to package description]
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

real	0m0.315s
user	0m0.267s
sys	0m0.027s

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.