pngload: Pure Haskell loader for PNG images

[ bsd3, codecs, library ] [ Propose Tags ]

This package provides a simple PNG loader for PNG images. It currently supports 24bit RGB(A) images with no interlacing.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1
Dependencies array, base (>=3), bytestring, haskell98, mtl, parsec (>=3.0.0), zlib [details]
License BSD-3-Clause
Copyright (c) 2008 Marko Lauronen
Author Marko Lauronen <>
Maintainer Marko Lauronen <>
Category Codecs
Uploaded by MarkoLauronen at 2008-06-02T17:28:09Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 1449 total (3 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for pngload-0.1

[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.