python - Python透明水印不透明
问题描述
我有这个问题,无论我放什么水印,透明的背景都显示为不透明。
这是代码:
from PIL import Image
import glob
def watermark_with_transparency(input_image_path, output_image_path, watermark_image_path):
base_image = Image.open(input_image_path) # open base image
watermark = Image.open(watermark_image_path) # open water mark
width, height = base_image.size # getting size of image
width_of_watermark, height_of_watermark = watermark.size
position = [width / 2 - width_of_watermark / 2, height / 2 - height_of_watermark / 2]
position[0] = int(position[0])
position[1] = int(position[1])
water = watermark.copy()
water.convert('RGBA')
water.putalpha(70)
water.save('solid.png')
transparent = Image.new('RGBA', (width, height), (0, 0, 0, 0))
transparent.paste(base_image, (0, 0))
transparent.paste(water, position, mask=water)
transparent.show()
transparent.convert('RGB').save(output_image_path)
print('Image Done..!')
for inputImage in glob.glob('images/*.jpg'):
output = inputImage.replace('images\\', '')
outputImage = 'watermark images\\' + str(output)
watermark_with_transparency(inputImage, outputImage, 'watermark images/watermark.png')
解决方案
推荐阅读
- javascript - 如何从 Javascript Microsoft Dynamics 调用操作
- c# - 如何修复 SpriteRenderers 在运行时不改变
- python-3.x - 创建 RSA 程序时出现 ModuleNotFoundError
- r - 从存储在列表中的多个矩阵创建矩阵 (r)
- ffmpeg - FFMPEG 增加文件名超过 1000 并从 1 重置
- java - 如何在 mousePress() 上更改单行的颜色
- java - 错误:无法在只读事务中执行 INSERT
- javascript - 如何使 JavaScript 对象的原型永久化?
- java - 无法让@Controller 导入包
- excel - 如何根据给定的参考列表和附加的序列号标识计算“结果之间”?