我有 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
显示一个空的 tk 窗口。
最佳答案
谢谢布莱恩。 明白了,除了label,透明度的问题从另一个问题解决了here (相同的前景图像用作 mask )
我想,这就是让我损失了-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
关于python - Tkinter,将前景图像叠加在具有透明度的背景图像之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23876447/