runs on: [Base 64 encode/decode] [KPV] 2003-05-12 added a blue gif ball (by taking the red ball and doing a RGB->BGR palette color swap); made to work with tcllib base64 package (with workaround for an 8.4.2 bug); and added binary translation for Windows. Question - why is there two pages named nearly the same - except for spaces? One of the outstanding requests for the Wiki is to drop leading and trailing white space from the title names ... making such distinctions clash. ---- package require base64 ## ******************************************************** ## ## Name: gifBalls ## ## Description: ## Creates .gif files of red, yellow, blue and green balls. ## ## Parameters: ## where - the directory to drop the balls in. ## Usage: ## gifBalls [ file join $::env(HOME) public_html gifs ] ## Comments: ## Base 64 encoded for freshness. proc gifBalls { { where "" } } { set red {R0lGODlhFAAPAPMPAAAAADgFD00CEGoDGHMTJ21ZXZISK6USL7 MoRJ1aZ9IzUvRUdNVAXscbPv9ylKqcniH5BAEAAAAALAAAAAAU AA8AAARwEMgpX7qPavrQ+YdBZNv0HIDCKE04kNvZMEvNeIMAU8 mhLI7gQuEqlAwHWtCxYLgIMeRvOTwQBoHS4ICg2RCGXHZDQCIU aPBVMNYkBgZkSCQ2lgSDAWGfZwd2HAJ4fX6AGg9sggGLhiUPBZ CNJZMaEQA7} set yellow {R0lGODlhFAAPAPMPAAAAADExBD09Kk5OAmtrDFNTKmxsWIm JFLCwM5mZJaCgUsXFONPTUvb2ceXlWKennCH5BAEAAAAALA AAAAAUAA8AAARqEMgpX1Lq0U3t+QdBaNz0HAmyIEk4kNyZL I7DMC3xlsqBOI0gA+EylAgpoJCoK8QIPkbQxhwEjqjFbZgQ WY/QFILlClw5hoEI5LUaSwO1SBc3wzaPgCC+NwfuMX5+AoA lAA8GBQaFho0UEQA7} set green {R0lGODlhFAAPAPQAAAAAAAA4BwBNCgBqEgBzE0ZtTACSEwCl FgqzJj+dTADHIQ/SKRzVOyv0RUf/bH+qgwAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ACH5BAEAABAALAAAAAAUAA8AAAV2ICSO4pOcD6mSD3K8h0Gk 6/gc0MIsSjzQq5uC0SgyXAMBkJQ4LBqOaGPhK9QMB2LU0WD4 CEHsczs9EAaB2uCAIBoRhmR6RcAiFnj4WTBXJQYGWDEyclY1 AgMDBIuJfAFLLAKIjY6QKg98kgGbljUPBaCdNaMqIQA7} set blue {R0lGODlhFAAPALMAAAAAAA8FOBACTRgDaicTc11ZbSsSki8Sp UQos2danVIz0nRU9F5A1T4bx5Ry/56cqiH5BAEAAAAALAAAAA AUAA8AAwRwEMgpX7qPavrQ+YdBZNv0HIDCKE04kNvZMEvNeIM AU8mhLI7gQuEqlAwHWtCxYLgIMeRvOTwQBoHS4ICg2RCGXHZD QCIUaPBVMNYkBgZkSCQ2lgSDAWGfZwd2HAJ4fX6AGg9sggGLh iUPBZCNJZMaEQA7} foreach color { red yellow green blue } { set fn [ file join $where ball_${color}.gif ] set fid [ open $fn w ] fconfigure $fid -translation binary regsub -all {\s} [ set $color ] {} data puts -nonewline $fid [ ::base64::decode $data] close $fid } } ## ********************************************************