2009-11-19 00:34:07 +00:00
|
|
|
|
2012-01-05 22:45:03 +00:00
|
|
|
loadpng: glue for Allegro and libpng
|
|
|
|
|
2009-11-19 00:34:07 +00:00
|
|
|
|
|
|
|
This wrapper is mostly a copy and paste job from example.c in the
|
|
|
|
libpng docs, stripping out the useless transformations and making it
|
2012-03-24 14:55:26 +00:00
|
|
|
use Allegro BITMAP and PALETTE structures. It is released under the
|
|
|
|
terms of the zlib license. See LICENSE.txt for more information.
|
2009-11-19 00:34:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
Requirements:
|
|
|
|
|
2012-01-05 22:45:03 +00:00
|
|
|
Allegro http://alleg.sourceforge.net/
|
|
|
|
libpng http://www.libpng.org/pub/png/
|
|
|
|
zlib http://www.gzip.org/zlib/
|
2009-11-19 00:34:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
Usage:
|
|
|
|
|
|
|
|
See loadpng.h for functions and their descriptions. There is a
|
|
|
|
simple example program called example.c, a program demonstrating
|
|
|
|
alpha translucency in exalpha.c, and a program demonstrating how to
|
|
|
|
load a PNG object from a datafile in exdata.c.
|
|
|
|
|
|
|
|
To compile, just run "make" (or perhaps "mingw32-make"). To use
|
|
|
|
loadpng, you need to link with libpng, zlib in addition to loadpng
|
|
|
|
itself, e.g.
|
|
|
|
|
2012-01-05 22:45:03 +00:00
|
|
|
gcc mygame.c -lldpng -lpng -lz -lalleg
|
2009-11-19 00:34:07 +00:00
|
|
|
|
|
|
|
I recommend you copy loadpng's files into your own project's directory
|
|
|
|
and compile loadpng as part of your project.
|
|
|
|
|
|
|
|
|
|
|
|
Notes:
|
|
|
|
|
|
|
|
- Grayscale images will be loaded in as 24 bit images, or 32 bit
|
|
|
|
images if they contain an alpha channel. These will then be
|
|
|
|
converted as usual, according to Allegro's conversion semantics. Be
|
|
|
|
aware of this if you have disabled automatic colour depth
|
|
|
|
conversion.
|
|
|
|
|
|
|
|
- save_png() doesn't save any gamma chunk. I'm thinking of making it
|
|
|
|
write an sRGB chunk by default. If you want tight control of how
|
|
|
|
your images are saved, I recommend hacking save_png() to suit your
|
|
|
|
needs. There's simply too many options.
|
|
|
|
|
|
|
|
|
|
|
|
Enjoy!
|
|
|
|
|
|
|
|
Peter Wang (tjaden@users.sf.net)
|
|
|
|
http://members.ozadsl.com.au/~tjaden/
|
|
|
|
http://tjaden.strangesoft.net/
|