答案 0 :(得分:2)
让source.png
调用第一张图片,mask.png
调用徽标™
您的徽标是透明的,但以相反的方式显示,因此透明性对我们没有用。另外,在这种情况下,当我们删除透明度时,透明区域几乎变为白色,因此我们需要对其进行阈值设置。
from PIL import Image, ImageOps
# Convert to grayscale
mask = Image.open('mask.png').convert('L')
# Threshold and invert the colors (white will be transparent)
mask = mask.point(lambda x: x < 100 and 255)
# The size of the images must match before apply the mask
img = ImageOps.fit(Image.open('source.png'),mask.size)
img.putalpha(mask) # Modifies the original image without return
img.save('result.png')