img-gif - Man Page

Img, Graphics Interchange Format (gif)


package require Tk

package require img::gif  ?1.4?

image create photo ?name? ?options?


The package img::gif is a sub-package of Img. It can be loaded as a part of the complete Img support, via package require Img, or on its own, via package require img::gif.

Like all packages of Img it does not provide new commands, but extends the existing Tk command image so that it supports files containing raster images in the Graphics Interchange Format (gif). More specifically img::gif extends Tk's photo image type.

The name of the new format handler is gif. This handler provides new additional configuration options. See section Gif Options for more detailed explanations.

All of the above means that in a call like

image create photo ?name? ?options?

Image data in gif format (options -data and -file) is detected automatically.


The format name gif is recognized by the option -format. In addition the value for the option is treated as list and may contain any of the special options listed in section Gif Options.

Gif Options

The handler provides two options, one for reading from a GIF image, the other influencing the writing of such.

-index n

This option is for reading from GIF files containing more than one image (animated GIF's, GIF movies. When specified it will read the n'th image in the data. The first image is at index 0 and will be read by default, i.e. when the option is not specified.

-interlaced bool

If the value of this option is set to true the image will be written using the interlaced sub-format of GIF. The default is to write non-interlaced files. This option is not implemented yet.

Image Compression

Instead 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.


If you want to write images to disk which contain transparency information (e.g. GIF89) you need at least Tk 8.3.

See Also

img-bmp, img-dted, img-gif, img-ico, img-intro, img-jpeg, img-pcx, img-pixmap, img-png, img-ppm, img-ps, img-raw, img-sgi, img-sun, img-tga, img-tiff, img-window, img-xbm, img-xpm


gif, image handling, tk


1.4 Img