Вот пример (файл example.png 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». Если нет, вам нужно убедиться, что альфа-канал сохранен вместе с изображением. Вам нужно проконсультироваться с руководством по графической программе, как это сделать.
Можете ли вы подтвердить, что изображение появляется с прозрачностью в другой программе? – Nathan