2010/4/12 Filipe Pires Alvarenga Fernandes <ocef...@gmail.com>: > Thanks for point TKinter to me. However, I'm stuck again. > > I've tried two approaches, one is following what you suggested: > > """ Tkinter """ > import Tkinter as tk > root = tk.Tk() > from PIL import Image, ImageTk > image = ImageTk.PhotoImage(Image.open('map.png')) # load saved image > #image = ImageTk.PhotoImage(im) # load image from StringIO > tk.Label(root, image=image).pack() > > The other is to convert the PIL image to array and show with imshow() > > """ PIL to array """ > from matplotlib.image import pil_to_array > rgba = pil_to_array(Image.open('map.png')) # load saved image > #rgba = pil_to_array(im) # load image from StringIO > rgba = rgba.astype(np.float32)/255. > imshow(rgba) > > Both work fine for a saved image. However, they return strange errors > when I tried to apply them to the image from "StringIO", or even for a > saved image in the same script used to generate them. I guess that > something I import from matplotlib is causing a conflict here. > > Here are the error messages: > > """ Tkinter """ > _tkinter.TclError: image "pyimage9" doesn't exist > > > """ PIL to array """ > terminate called after throwing an instance of 'char const*'
Hi, with the Tkinter PhotoImage, I think it's intended for use with Tkinter.Canvas, and not compatible with Label. For what I know, it works fine for me with Canvas (Windows). I guess what you end up with is not a real PhotoImage but something faky. Now, I cannot execute your script and dive in myself, because I switched to another laptop, where I have to compile everything ... So in some days, I will know more. With the pil_to_image issue, I really have no idea. It's really quite strange, isn't it? I mean, it should return a newly created numpy.ndarray, and shouldn't borrow any memory with the PIL Image? I really don't know at the moment, I'm sorry. For the Tkinter issue, from your script it seems that you simply want to display it, so give the Canvas a try. I used it in http://github.com/friedrichromstedt/diagram_cl/blob/master/panels/tk/diagram.py , start with update() and __init__(). hth for now, Friedrich ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users