这是一个例子(PNG文件example.png在不同的地方有很多透明度):
from Tkinter import Tk, Frame, Canvas
import ImageTk
t = Tk()
t.title("Transparency")
frame = Frame(t)
frame.pack()
canvas = Canvas(frame, bg="black", width=500, height=500)
canvas.pack()
photoimage = ImageTk.PhotoImage(file="example.png")
canvas.create_image(150, 150, image=photoimage)
t.mainloop()
您需要确保图像已经存储为RGBA – RGB和Alpha通道.您可以使用您选择的图形程序或使用PIL(Python Imaging Library)来检查:
import Image
im = Image.open("button.png")
print im.mode
这应该打印“RGBA”.如果没有,您必须确保alpha通道与图像一起保存.您将不得不咨询您的图形程序手册如何做到这一点.