He aquí un ejemplo (el archivo example.png PNG tiene un montón de transparencia en diferentes lugares):
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()
Es necesario asegurarse de que la imagen ha sido almacenada como RGBA - RGB con un canal alfa. Puede comprobar que el uso de un programa de gráficos de su elección, o el uso de PIL (Python Imaging Library):
import Image
im = Image.open("button.png")
print im.mode
Esto debería imprimir "RGBA". De lo contrario, tendrás que asegurarte de que el canal alfa se guarda con la imagen. Deberá consultar el manual de su programa de gráficos para saber cómo hacerlo.
¿Se puede confirmar que la imagen aparece con transparencia en otro programa? – Nathan