I'm happy to announce version 1.2.4 of the "Img" package. This package enhances Tk, adding support for many other Image formats: BMP, XBM, XPM, GIF (with transparency), PNG, JPEG, TIFF and postscript. This version only works with Tcl/Tk 8.0 or higher (tested up to 8.4a1). If you are using Tk4.2 or lower, please stick with Img1.1.4 (which is still available). Currently there are two identical source distributions: img124.zip (for Windows) (about 1.9 Mb) img1.2.4.tgz (for Unix) (about 1.6 Mb) All these files can be downloaded from: ftp://ftp.neosoft.com/pub/tcl/sorted/packages-8.0/graphics/img/1.2/ The most recent info is always available at: http://purl.oclc.org/net/nijtmans/img.html Changes compared to version 1.2.3 (see changes file for more details) - Bug-fix: some platforms need the "-rpath" flag in order to let libpng locate the libz library correctly. This was missing from the Makefile. Reported by Larry Virden. - Bug-fix: XBM module could cause the application to hang with certain input or write an incomplete colormap. Reported by Gianandrea Rigoni. - Bug-fix: BMP module sometimes wrote an incomplete color-map when the image had more than 256 colors. Reported by higuchi@cov.tytlabs.co.jp - Bug-fix: Postscript reading can now handle postscript files bigger than the default page size. Report and fix suggestion by Carlos Vidal. - Upgrade to libtiff 3.5.5 - Upgrade to libpng 1.0.8 - libpng on Windows is now compiled with MMX support. This makes png.dll somewhat larger, but it could result in a factor 5 speed improvement in some cases. - Internationalization for demos and tests. - Made PNG handler independant of stdio and jpmbuf availability in libpng. So, if your libpng is compiled with -DPNG_NO_STDIO or -DPNG_SETJMP_NOT_SUPPORTED, everything will still work now. The main library is libimg1.2.so (libimg1.2.sl, libimg1.2.a, img12.dll), which handles the BMP, XBM, XPM, GIF formats and the Pixmap image type. This library can be loaded dynamically into Tcl/Tk. If these formats are all you need, no other libraries need to be installed. If you want to write images to disk which contain transparency information (e.g. GIF89 or PNG with alpha channel), you need at least Tk 8.3. Without lower Tk versions only GIF87 will be written, and the alpha channel will be missing from PNG files. In other words: The background color will not be as intended but everything else should be O.K. For PNG, JPEG and TIFF support, other dynamic libraries need to be present at runtime. These are all public domain, and no modifications are needed. If your system already has these libraries (maybe under a different name) you probably don't have to re-build them. But otherwise, the Img package contains everyting to upgrade, if you like: libz.so (libz.sl, libz.a, zlib.dll) Version 1.1.3 Implements de "deflate" compression for PNG and TIFF. libpng.so (libpng.sl,libpng.a,png.dll) Version 1.0.8 libjpeg.so (libjpeg.sl,libjpeg.a,jpeg.dll) Version 6b libtiff.so (libtiff.sl,libtiff.a,tiff.dll Version 3.5.5 Especially libpng and libjpeg are advised to be upgraded if you have an earlier version. PNG wouldn't even work with 0.90 or earlier. JPEG works, but you can expect problems with smoothing. For postscript you need Ghostscript (version 2.6 or higher) to be available on your system. Many thanks to the following people (alphabetical): Roger E Critchlow Jr BMP improvements. Nick Ing-Simmons XBM write function, perl-Tk port and many other useful suggestions. Andreas Kupries Testing on Linux, and supplying original "makefile.vc" files for the Windows port. Ioi K. Lam Pixmap image type (imgPmap.c, imgUnixPmap.c, imgWinPmap.c), many functions of which are used in imgXPM.c as well. Tom Lane Wrote the JPEG handler (but I'm responsible for the dynamical loading part). Lolo Original GIF87 write function. Larry Virden Bug reports and other useful remarks. Mario Weilguni Many improvements to imgXPM.c. Enjoy, Jan Nijtmans CMG Oost-Nederland B.V. email: j.nijtmans@chello.nl (private) jan.nijtmans@cmg.nl (work) url: http://purl.oclc.org/net/nijtmans/