Ich habe nachgesehen, wie man zwei Bilder zusammenfügt und das obere auf etwa 50% transparent macht.
Bisher habe ich das gefunden:
from PIL import Image
def merge():
background = Image.open("ib.jpg")
background = background .convert("L") #only foreground color matters
foreground = Image.open("if.jpg")
background.paste(foreground, (0, 0), foreground)
background.show()
Es wird jedoch nur ein leeres Bild ausgegeben.
Beide sind gleich groß.
ib.jpg:
if.jpg:
gewünschte Ausgabe:
Irgendwelche Tipps, um dies entweder mit einer RGB- oder RGBA-Datei zu tun? Ich sollte mich mit beiden Typen befassen (einige haben sogar Alpha-Layer).
Vielen Dank,
Antworten:
4 für die Antwort № 1Sie müssen verwenden blend
Funktion von PIL.Image
:
from PIL import Image
bg = Image.open("1.jpg")
fg = Image.open("2.jpg")
# set alpha to .7
Image.blend(bg, fg, .7).save("out.png")