2013-01-24 100 views
0

我想把自己的圖像放在畫布的背景中。 我做了這個代碼:Image in canvas backgroud,Python

size = (800,600) 
im = Image.new('RGB',size) 
pix = im.load() 
for i in range(size[0]): 
    for j in range(size[1]): 
     pix[i,j] = (100,100,100) 
im.save('ima5.png') 

im2 = ImageTk.PhotoImage(im) 

canvas = Tkinter.Canvas(width=Width, height=Height, bg=im2) 

我有此錯誤:_tkinter.TclError: unknown color name "pyimage1",我知道這是爲什麼圖像沒有被帆布期望的格式。 因此,任何人都知道如何將im2作爲畫布的背景?

回答

1

bg/background屬性需要一種顏色,而不是圖像。要使用圖片作爲背景,請使用畫布的create_image方法:

import Image, ImageTk, Tkinter 

im = ImageTk.PhotoImage(Image.open("<path\\to\\image.jpg-ect>").resize((800,600))) 
canvas = Tkinter.Canvas(Parent, width=WIDTH, height=HEIGHT) 
canvas.pack() #place(), etc. 
Canvas_Image = canvas.create_image(0,0 image=im, anchor="nw") 
+0

正是Mr. Oakley .. :) –