首页 > 解决方案 > 我如何使用 Python Pillow 将图片粘贴到另一个图层(所以没有 PNG 网格)

问题描述

使用 Python Pillow 我正在尝试将 png 图片(在非背景灰色网格上的卡通人物 - png 文件的标准...我希望你知道我的意思)作为另一个图片背景的顶层。

我想粘贴它,使卡通人物很好地适合我的图片背景,并且不携带原始文件中的背景(即 png 灰色网格)。

换句话说,当我在我想要的背景上粘贴一个没有背景的 png 文件的人时,我会留下一张人的方形图片,而不是作为图层,而是作为背景顶部的整个图片。不想要的结果 预期 的背景


from PIL import Image
import os

bkg = Image.open("background.png")
prsn=Image.open("person.png")

bkg.paste(prsn,(45,35))
bkg.load()
bkg.show()
bkg.save('resul.png')

标签: python-imaging-library

解决方案


您已经很接近了,您只需要在粘贴的地方使用蒙版,这样就不会影响人物透明部分下的背景区域:

bkg.paste(prsn,(45,35),prsn)

此外,这一行是不必要的:

bkg.load()

推荐阅读