我在 Tkinter 中放入了一个部分透明的 PNG 图像,我得到的就是这个
如何使右侧的黑色三角形变清晰? (就像它应该是的那样)
顺便说一句,这是 Windows 7 上的 python 2.6。
最佳答案
这是一个例子(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”,即具有 alpha channel 的 RGB。您可以使用您选择的图形程序或使用 PIL ( Python Imaging Library) 来检查:
import Image
im = Image.open("button.png")
print im.mode
这应该打印“RGBA”。如果没有,您必须确保 Alpha channel 与图像一起保存。您必须查阅您的图形程序手册以了解如何执行此操作。
关于python - 如何使 Tkinter 支持 PNG 透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3270209/