Python I';我想叠加两幅图像,其中一幅是透明的

Python I';我想叠加两幅图像,其中一幅是透明的,python,image,render,Python,Image,Render,我试图叠加两个图像,知道其中一个已经是透明的 我在网上查阅了一些已经完成的工作,以下是我发现的并适合我的: from PIL import Image img = Image.open(fr"D:\Prog\Automatisation\Photo tu preferes quoi\signature\signature_1.png") background = Image.open(fr"D:\Prog\Automatisation\Photo tu preferes quoi\phot

我试图叠加两个图像,知道其中一个已经是透明的

我在网上查阅了一些已经完成的工作,以下是我发现的并适合我的:

from PIL import Image


img = Image.open(fr"D:\Prog\Automatisation\Photo tu preferes quoi\signature\signature_1.png")

background = Image.open(fr"D:\Prog\Automatisation\Photo tu preferes quoi\photo_1\oui_1.png")

background.paste(img, (0, 0), new_img)
background.save('how_to_superimpose_two_images_01.png',"PNG")

及 我的透明图像放置在另一个图像的前面,但透明部分已变为绿色,因此隐藏了另一个图像


我怎样才能解决这个问题呢?

经过一番努力,我终于成功了!(我写这篇文章是为了下一个为之奋斗的人!)

使图像透明的函数:(这里,所有的黑色像素都是透明的,您当然可以在那里更改此值)

def透明_1(myimage):

覆盖两个图像的功能:

from PIL import Image
def superposer_img(英尺,背景):#英尺=前部,背景=背景

filename = ft
front = Image.open(filename, 'r')
filename1 = bg
background = Image.open(filename1, 'r')
text_img = Image.new('RGBA', background.size , (0, 0, 0, 0))
text_img.paste(background, (0,0))
text_img.paste(front, (0,0), mask=front)
text_img.save("image.png", format="png")
以及调用函数的程序:

import sys 
sys.path.append(fr"D:\Prog\Automatisation\Fonction")

from Superposer_image import superposer_img as supimg
from Image_Transparente import transparent_1 as tr


tr(fr"D:\Prog\Automatisation\Photo tu preferes quoi\signature\signature_1.png")

supimg("image_transparente.png",fr"D:\Prog\Automatisation\Photo tu preferes 
quoi\photo_1\a.png")

经过许多麻烦,我终于成功了!(我写这篇文章是为了下一个为之奋斗的人!)

使图像透明的函数:(这里,所有的黑色像素都是透明的,您当然可以在那里更改此值)

def透明_1(myimage):

覆盖两个图像的功能:

from PIL import Image
def superposer_img(英尺,背景):#英尺=前部,背景=背景

filename = ft
front = Image.open(filename, 'r')
filename1 = bg
background = Image.open(filename1, 'r')
text_img = Image.new('RGBA', background.size , (0, 0, 0, 0))
text_img.paste(background, (0,0))
text_img.paste(front, (0,0), mask=front)
text_img.save("image.png", format="png")
以及调用函数的程序:

import sys 
sys.path.append(fr"D:\Prog\Automatisation\Fonction")

from Superposer_image import superposer_img as supimg
from Image_Transparente import transparent_1 as tr


tr(fr"D:\Prog\Automatisation\Photo tu preferes quoi\signature\signature_1.png")

supimg("image_transparente.png",fr"D:\Prog\Automatisation\Photo tu preferes 
quoi\photo_1\a.png")

这篇文章相关吗?是的,因为对这位先生有效的答案对我无效!好像你正在加载前景图像为RGBA,而不是背景,如另一篇文章所示?在我的程序中,是的,但即使我尝试了你告诉我的程序,结果仍然是一样的。你尝试过不同的图像了吗?你的图片可能不是真正透明的。这篇文章相关吗?是的,因为对这位先生有效的答案对我无效!好像你正在加载前景图像为RGBA,而不是背景,如另一篇文章所示?在我的程序中,是的,但即使我尝试了你告诉我的程序,结果仍然是一样的。你尝试过不同的图像了吗?您拥有的图像可能不是真正透明的。