The line 228 is in the Tk module, but yeah, it's being called through the write method. Commenting that line out eliminates the error.
Assuming that the 256 colour limit is specific to the gif is a good guess. I can play with the palette values to see if that does it. I assume it's a gif thing, as just displaying the image (part of the original code I derived the example from) seems to work fine.
The quotes don't seem to matter, btw. It seems to do what I want, which I think is a result of specifying the options using the hash-like -var => value method of passing parameters.
And yeah, I'm investigating other tools. I'd forgotten about GD though. Funny that. Thanks!