簡體   English   中英

Python PIL:將透明圖像混合到另一個上

[英]Python PIL: Blend transparent image onto another

我需要使用Pythons PIL Library將圖像混合到另一個圖像上。

如下圖所示,我的兩個源圖像是A和B.當我這樣做時:

imageA.paste(imageB, (0, 0), imageB)

我得到了C作為結果,但灰色背景頂部的部分現在是透明的。 圖像D是我在Photoshop中將B放在A上時得到的,是我需要用PIL實現的。

我究竟做錯了什么? 如何在PIL中用A組合B來獲得D而不是C?

示例圖像

我現在不能評論(rep約束)。

但我認為根據您的需要,您真正需要的是:

imageB.paste(imageA, (0, 0), imageA)

基本上,也就是說,使B成為背景圖像以獲得所需的結果,因為這就是我在D中看到的。

編輯:環顧四周,我發現了這個: https//stackoverflow.com/a/15919897/4029893

我認為你肯定應該使用alpha_composite方法,因為粘貼對於具有透明度的背景圖像不起作用。

使用RGBA作為透明蒙版

imageA.paste(imageB, (0, 0), imageB.convert('RGBA'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM