画布背景中的图像,Python

时间:2013-01-24 16:49:24

标签: python image canvas tkinter

我想将自己的图像放在画布的背景中。 我做了这个代码:

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 个答案:

答案 0 :(得分: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")