Just in case anybody has the same problem, here's my first attempt at implementing a subset of the PNG spec in pure Python. I license it to you under the terms of the GNU GPL.
http://trac.browsershots.org/browser/trunk/shotfactory/lib/image/png.py It encodes RGB images with 24 bits per pixel into PNG, using only the modules sys, zlib and struct. These are all included in the base distribution of Python. You don't need gd or imlib. I have done a little testing, and my implementation processes 8 megs of RGB input in 0.6 seconds. With Adam7 interlacing enabled, it takes 10 times longer. I would really appreciate any feedback and suggestions for improvement. Cheers, Johann -- http://mail.python.org/mailman/listinfo/python-list