如何在 Pillow 中叠加两个非透明图像

How to overlay two non-transparent images in Pillow

我正在尝试制作一个简单的图像处理功能,将苏联国旗滤镜应用于个人资料图片。两张图片都是不透明的。我有一些代码

from PIL import Image

app = Flask(__name__)

img = Image.open("soviet.jpg")
back = Image.open("profile.jpg")

back.paste(img, (0, 0))
back.show()

如果其中一个图像是透明的,那将有效。但是,因为我的图像不是透明的,所以它只显示背景。此外,图片有不同的分辨率,所以它只显示背景的左上角。有没有办法将个人资料图片居中并设置不透明度,然后叠加它?

您可能需要调整图像大小以使其与以下内容相互匹配:

back = back.resize(img.size)

然后尝试使用 blend() 函数:

blended_image = Image.blend(img, back, 0.5)