Вот пример (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 с альфа-каналом.Вы можете проверить это с помощью графической программы по вашему выбору или PIL ( Python Imaging Library ):
import Image
im = Image.open("button.png")
print im.mode
Это должно вывести «RGBA».Если нет, вам нужно убедиться, что альфа-канал сохранен вместе с изображением.Вам нужно будет обратиться к руководству по вашей графической программе, чтобы узнать, как это сделать.