'''PNG Photo Image extension for Tcl/Tk''' [MAK] (08 Mar 2005) This package implements support for loading and using [PNG] images with Tcl/Tk. Although other extensions such as [Img] also add support for PNG images, I wanted something that was lightweight, did not depend on libpng, and which would be suitable for inclusion in the Tk core, as Tk does not currently support any [image] formats natively that take advantage of its internal support for alpha blending, and alpha antialiasing and drop shadows really go a long way toward beautifying Tk applications. The package supports the full range of color types, channels and bit depths from 1 bit black & white to 16 bit per channel full color with alpha (64 bit RGBA) and interlacing. Ancillary "chunks" such as gamma, color profile, and text fields are ignored, although they are checked at a minimum for correct CRC. Very temporary home: http://www.muonics.com/tmp/tkpng0.6.tgz The windows makefile.vc still needs to be modified to find zlib, though.. Here's a teaser using [Tile] labels and Willem van Schaik's suite of PNG test images [http://www.schaik.com/pngsuite/pngsuite.html]: [http://www.muonics.com/extimgs/tkpng.png] Of course it looks the same as [Img], but its only dependency is on zlib, which already has a TIP. ---- [schlenk] Cool, when do we see the TIP for inclusion in Tk? [MAK] Maybe in a week or two when I have some time to figure out the TIP format, write it, and also do some optimizing. Unless someone else wants to write the TIP. :P I ran some benchmarks and it ranges from slightly slower to much slower than Img depending on the image size. Much of that time is spent in filtering, and I think I can rewrite it to optimize it a fair bit. I think it also may be filtering the first scan line of each pass (of 7) in interlaced images when it's not supposed to. Since 3 of the 4 line filter modes (not including "none") mix a scan line with the previous scan line in the current pass, I'm surprised not to see images that look wrong. I guess the PNG suite doesn't cover that particular situation well. At any rate, I think with a big of optimizing I may be able to make it faster than Img. ---- This is really great work. Keep it up! Once you get the base64 code done, I've got all I need. I really hate including the entirety of Img just to get PNG (the only format I really care about) support. Thanks for the work! -- [DC] 03/11/05 ---- [MAK] (19 Mar 2005) New version 0.6. Base 64 decoding support was added, and several optimizations were made. ---- [AJB] (22 Mar 2005) Very nice! Ive managed to compile 0.6 for most platforms that I need it on. However, if someone has a macosx binary, could you please post a link here. It would be appreciated, as I dont really feel like going through that learning curve right now. :) ---- [Category Package] | [Category Graphics]