Hi, I'm trying to write a simple image viewer using Tkinter and ImageTk from the PIL toolkit. The images are stored in memory and I don't want to create temporary files for them.
My code looks like this : from Tkinter import * import Image import ImageTk class Viewer(Frame): def __init__( self, master=None ): Frame.__init__( self, master ) self.grid() self.createWidgets() def createWidgets(self): self.image_size = (50,50) self.pilim = Image.new( "1", self.image_size ) # Generate a blank image f = lambda(x): 0 Image.eval( self.pilim, f ) self.bmi = ImageTk.BitmapImage( image = self.pilim, foreground = 'black' ) self.canvas = Canvas( width=100, height = 100, bg = 'white' ) self.quitButton = Button( self, text="Quit", command=self.quit ) self.quitButton.grid() self.canvas.grid() im_id = self.canvas.create_bitmap( 0, 0, anchor = 'nw', bitmap = self.bmi ) viewer = Viewer() viewer.master.title("Test viewer") viewer.mainloop() The create_bitmap call fails with the following error : _tkinter.TclError: bitmap "pyimage2" not defined I've seen a couple of mentions of this problem but with no solution given other than to write the image to a temporary file, which I don't want to do. I'd appreciate it if anyone could point me to a different approach for this that works (and doesn't involve creating temporary files). I'd be open to trying a different GUI/imaging package if anyone has suggestions for one that would be better suited to this sort of application. Otherwise I'm also interested if anyone has any ideas about the root cause of this problem because if I don't find some work around I intend to try to fix it in Tkinter. Thanks, Tim -- http://mail.python.org/mailman/listinfo/python-list