Tkinter-将透明图像放置在框架顶部吗?

时间:2019-07-16 23:48:50

标签: python image canvas tkinter transparency

对于我的程序,我需要在多个帧上放置透明图像(作为一种叠加),显然,将图像放置在画布上是实现透明的一种好方法。但是,画布周围有一个不透明的边框,这意味着它只是放在框架的顶部,周围有一个灰色矩形背景,我不知道如何修复它:

from tkinter import *
root = Tk()
root.title("Transparency")
root.geometry("500x500")
frame = Frame(root, width=500, height=500, bg="yellow")
frame.place(x=0, y=0)
photoimage = PhotoImage(file="example1.png")
canvas = Canvas(frame, width=300, height=200, bg="red")
canvas.create_image(128, 64, image=photoimage)
canvas.place(x=100, y=100)
root.mainloop()

这不是我的实际程序,但是它确实复制了发生的情况。我还需要使用位置管理器而不是其他位置的管理器(我的程序使用很多坐标来放置多个小部件)。 This is what it looks like when running the above code

This是我想要的样子(假设图像下方的黄色是一堆帧)。

我要做的就是在不透明的框架上放置一个透明的Canvas,并且应该不可能说出Canvas确实存在。

我如何做到这一点?

0 个答案:

没有答案