我有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窗口。
答案 0 :(得分:3)
谢谢布莱恩。 得到它,除了标签,透明度的问题从另一个问题here解决(相同的前景图像用作面具)
我想,这就是我的-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
答案 1 :(得分:0)
嘿伙计们,我知道我迟到了 6 年,但我可以帮助你们
from PIL import Image
import numpy as np
# Create Image
img = Image.open("forground.png")
background = Image.open("background.png")
background.paste(img, (0, 0), img)
background.save('NewImg.png',"PNG")
NewImg = Image.open('NewImg.png')
# Use Image
tkimage = ImageTk.PhotoImage(NewImg)
panel1 = Label(root, image=tkimage)
panel1.grid(row=0, column=2, sticky=E)
root.mainloop() # Start the GUI
所以你所要做的就是在处理文件时使用 NewImg。 此代码从两个图像中创建一个图像,然后在程序中使用该图像。