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.
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.
The handler provides two options, one for reading from a GIF
image, the other influencing the writing of such.
-indexn
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.
-interlacedbool
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.
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.