python-imaging-library - 我如何使用 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')
解决方案
您已经很接近了,您只需要在粘贴的地方使用蒙版,这样就不会影响人物透明部分下的背景区域:
bkg.paste(prsn,(45,35),prsn)
此外,这一行是不必要的:
bkg.load()
推荐阅读
- php - 从下拉简单的 html dom 中抓取数据
- go - 按行值分组 [][] 字符串(二维切片)
- sql - How to export only data from a database in SQL DEVELOPER
- xpath - Faster XPath expressions to execute queries from multiple XMLs
- javascript - SVG 上的旋转变换适用于除 IE 之外的所有浏览器 - https://codepen.io/linamary/pen/zgWvoN
- javascript - NodeJS用另一个值替换数组中的相似值
- python - Assign values to a pandas dataframe column filtered by index and column
- javascript - React - 将计算样式传递给 div 的语法
- tensorflow - tf.keras.layers.BatchNormalization 不接受 float64 作为输入类型
- python - 防止Python中某些模块之间的依赖关系(静态分析)