所以我有两个图像,我想显示在彼此之上。 顶部的图像应该是透明的,这样底部的图像才是可见的。
这是我目前的代码:
from Tkinter import *
import ttk
from PIL import Image, ImageTk
root = Tk()
face = Image.open("faces/face.gif")
eyes = Image.open("faces/eyes1.png")
face = face.convert("RGBA")
eyes = eyes.convert("RGBA")
facedatas = face.getdata()
eyesdatas = eyes.getdata()
newData = []
for item in eyesdatas:
if item[0] == 255 and item[1] == 255 and item[2] == 255:
newData.append((255, 255, 255, 0))
else:
newData.append(item)
eyes.putdata(newData)
eyes.save("eyes0.png", "PNG")
facepic = ImageTk.PhotoImage(face)
eyespic = ImageTk.PhotoImage(eyes)
label1 = Label(image=facepic)
label1.image = facepic
label1.grid(row = 0, column = 0)
label2 = Label(image=eyespic)
label2.image = eyespic
label2.grid(row = 0, column = 0)
root.mainloop()
下面是我运行它时得到的结果:
当我想得到这个:
脸在下面眼睛在上面。
可以使用
Image.alpha_composite
创建新的合成图像。试试这个
我没有两个你的源图像,所以我不能肯定它会与他们一起工作。如有任何问题,请提供原件。
相关问题 更多 >
编程相关推荐