Я вставил частично прозрачное изображение PNG в Tkinter и всем, что я получаю, это
Как я заставляю темный треугольник справа очиститься? (как он, как предполагается),
Это - python 2.6 в Windows 7, btw.
Вот пример (файл 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». Если нет, убедитесь, что альфа-канал сохранен вместе с изображением. Вам нужно будет проконсультироваться с руководством к вашей графической программе, чтобы узнать, как это сделать.