Dan*_*ela 7 python image python-imaging-library
我需要使用Pythons PIL Library将图像混合到另一个图像上.
如下图所示,我的两个源图像是A和B.当我这样做时:
imageA.paste(imageB, (0, 0), imageB)
Run Code Online (Sandbox Code Playgroud)
我得到了C作为结果,但灰色背景顶部的部分现在是透明的.图像D是我在Photoshop中将B放在A上时得到的,是我需要用PIL实现的.
我究竟做错了什么?如何在PIL中用A组合B来获得D而不是C?

我现在无法发表评论(代表限制)。
但我认为根据您的需要,您真正需要的是这样做:
imageB.paste(imageA, (0, 0), imageA)
Run Code Online (Sandbox Code Playgroud)
基本上,就是让B作为背景图像以获得想要的结果,因为这就是我在D中看到的。
编辑:环顾四周,我发现了这个: https ://stackoverflow.com/a/15919897/4029893
我认为您绝对应该使用该alpha_composite方法,因为对于具有透明度的背景图像,粘贴不能按预期工作。