Tkinter,将前景图像叠加在具有透明度的背景图像之上

AJN*_*AJN 5 python transparency image tkinter

我有 2 张图片,png 格式。第二个图像,是具有透明背景的形状。

第一张图:

在此处输入图片说明

第二张图:

在此处输入图片说明

我无法在给定坐标 (x,y) 的第一个图像上制作第二个图像,而第一个图像通过第二个图像的透明区域可见。

想要的结果:

在此处输入图片说明

import Tkinter
import Image, ImageTk

# open an image
head = Image.open('background2.png')
hand = Image.open('foreground2.png')
root = Tkinter.Tk()  # A root window for displaying objects

head.paste(hand,(20,20))

# Convert the Image object into a TkPhoto object
tkimage = ImageTk.PhotoImage(head)

root.mainloop() # Start the GUI
Run Code Online (Sandbox Code Playgroud)

显示一个空的 tk 窗口。

AJN*_*AJN 4

谢谢布莱恩。明白了,除了标签之外,透明度问题还从这里的另一个问题解决了(相同的前景图像用作蒙版)

我想,这就是我损失-2分的原因:-|

现在它按预期工作了。

from Tkinter import *
import Tkinter
from PIL import Image, ImageTk

root = Tkinter.Tk()  # A root window for displaying objects
# open image
imageHead = Image.open('head.png')
imageHand = Image.open('hand.png')

imageHead.paste(imageHand, (20, 40), imageHand)
# Convert the Image object into a TkPhoto object
tkimage = ImageTk.PhotoImage(imageHead)

panel1 = Label(root, image=tkimage)
panel1.grid(row=0, column=2, sticky=E)
root.mainloop()  # Start the GUI
Run Code Online (Sandbox Code Playgroud)