Img Homepage

references since December 16, 2000


This is the most stable Img release available. Except for the internationalization there are no new features, only some fixes for recently discovered bugs. Therefore everyone is recommended to upgrade.

Changes compared to version 1.2.3 (see changes file for more details)

New features in Img 1.2 and earlier were:

Currently there are two identical source distributions, and two binary distributions:

img124.zip (for Windows) http (for Windows) (1.9 MByte)
img1.2.4.tar.gz (for Unix) http (for Unix) (1.6 MByte)
img-1.2.3-1.i386.rpm (Binary for Linux-libc6) (127 kByte)
img124.exe (Binary for Windows 95/98/NT/2000) http (Binary for Windows 95/98/ME/NT/2000) (800 kByte)
tcl823plus.exe (Binary of Tcl/Tk 8.2.3plus for Windows 95/98/NT/2000, with the plus-, dash- and Img-patch already applied. img124.exe is not included with this installer.) (2.2 MByte)

Img version 1.1.4 (no longer supported)

The "Img" package adds a lot of image formats to Tcl/Tk. It works in combination with the following versions:

Tcl/Tk (version 7.5/4.1(p3), 7.6/4.2(p2), 8.0(.5) or 8.1(.1)),
Itcl (version 2.1 or higher)
Tcl/Tk Netscape plugin (1.1 or higher)

Currently there is a source distribution:

img1.1.4.tar.gz (for Unix) (1513917 bytes)

and the following binary distribution:

img114.exe (Windows 95/NT, self-extracting executable) (849648 bytes)


This package enhances Tk, adding support for many other Image formats: BMP, XBM, XPM, GIF (with transparency, but without LZW), PNG, JPEG, TIFF and postscript. 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 Tk 8.3 or higher.

In stead of LZW the run-length encoding of Hutchison Avenue Software Corporation is used, also known as miGIF compression. The miGIF compression routines do not, strictly speaking, generate files conforming to the GIF spec, since the image data is not LZW-compressed (this is the point: in order to avoid transgression of the Unisys patent on the LZW algorithm.) However, miGIF generates data streams that any reasonably sane LZW decompresser will decompress to what we want.

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.

Many thanks to the following people:

Roger E Critchlow Jr <rec@elf.org>
BMP improvements.
Andreas Kupries <a.kupries@westend.com>
Testing on Linux, and supplying everything for the Windows port.
Nick Ing-Simmons <nick@ni-s.u-net.com>
XBM write function, perl-Tk port and many other useful suggestions.
Tom Lane <tgl@sss.pgh.pa.us>
Wrote the JPEG handler (but I'm responsible for the dynamical loading part).
Lolo <lolo@pcsig22.etsimo.uniovi.es>
Original GIF87 write function.
Ioi K. Lam <ioi@eng.sun.com>
Pixmap image type (imgPmap.c, imgUnixPmap.c, imgWinPmap.c), many functions of which are used in imgXPM.c as well.
Mario Weilguni <mweilguni@sime.com>
Many improvements to imgXPM.c.
Larry Virden <lvirden@cas.org>
Bug reports and other useful remarks.
Chris Ausbrooks <weed@bucket.pp.ualr.edu>
Created the rpm for Linux (libc6)



Valid XHTML 1.0!Valid CSS!

Written by: Updated: January 24, 2001
Jan Nijtmans
CMG (Computer Management Group) Arnhem B.V.
email: j.nijtmans@chello.nl (private)
jan.nijtmans@cmg.nl (work)
url: http://purl.oclc.org/net/nijtmans/