Graphic Interchange format, a compact and popular way of storing images. [LZW]-encoded. Tk's [photo] type of [image] allows both reading and writing GIF files. See http://www.datacompression.info/GIF.shtml for a series of references relating to GIF. '''How to make a single-pixel GIF file:''' (but see also "[.gif color dot]" for a [pure-Tcl] version) % set im [image create photo -height 1 -width 1] image4 % $im put red % $im write im.gif -format gif % hexdump im.gif 47 49 46 38 37 61 01 00 01 00 91 00 00 FF 00 00 # 0000 GIF87a.......... FF FF FF FF FF FF FF FF FF 2C 00 00 00 00 01 00 # 0010 .........,...... 01 00 00 02 02 44 01 00 3B # 0020 .....D..; Loading that file indeed shows a single red pixel. (A "hexdump" command is described at [Dump a file in hex and ASCII].) ---- '''Writing a larger GIF file''' image create photo fooble -width 100 -height 100 fooble blank for { set x 0 } { $x < 100 } { incr x } { for { set y 0 } { $y < 100 } { incr y } { if { $x >= 38 && $x <= 62 && $y >= 12 && $y <= 87 || $x >= 12 && $x <= 87 && $y >= 38 && $y <= 62 } { fooble put \#ffffff -to $x $y } else { fooble put \#ff0000 -to $x $y } } } grid [label .test -image fooble] fooble write swissflag.gif -format gif ---- See also * [gifBalls] for examples how to specify base64-encoded GIF data directly. * [Creating image photo data from GIF files] ---- The GIF file format is somewhat controversial in that there's an "intellectual property" dispute about its use. ''[DKF] -'' Technically, the IP dispute is over the [LZW] compression scheme (patented by Unisys) and not the GIF format itself (invented by Compuserve). I do not recall when the LZW patent expires (I don't know when the patent was granted, or how long patents last for) but for your legal protection, the Tcl GIF writing code doesn't use LZW compression, but rather a run-length encoding scheme that (apparently) works because there's only one sane way to write a GIF decompressor. I'm no expert on that though. [AK] - AFAIK/IIRC it might be expired already. However, don't depend on our recollections. [KPV] - the primary LZW patent (4,558,302) expires in June, 2003. ---- [Category Graphics] | [Category Acronym]