Question

I'm unable to find any way to load .bmp file into Tkinter() so that I can use it in a canvas widget!Plz help me!

from Tkinter import *
from PIL import Image
import ImageTk
import tkFileDialog
import tkMessageBox
root=Tk()
class lapp:
   def __init__(self,master):
      w=Canvas(root,width=300,height=300)
      w.pack()
      p=Image.open("001.bmp")
      tkimage=ImageTk.PhotoImage(p)
      w.creat_image(0,0,image=tkimage)
App=lapp(root)
root.mainloop()

Its not showing any image on the canvas, its just blank! Btw I'm using win7 with python 2.7

Was it helpful?

Solution

This works for me.

The image doesn't show when I use the Tk PhotoImage class. But it works ok when using PIL.

My image size is 50*250, so I've put coordinates that center it (25, 125)

from Tkinter import *
from PIL import Image, ImageTk

root=Tk()

root.title("My Image")

w = Canvas(root, width=50, height=250)
image = Image.open("blog0.bmp")
w.create_image((25, 125), image=ImageTk.PhotoImage(image))

w.pack()

root.mainloop()

I hope it helps

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top