[英]Watermarking Image using Pillow
我正在尝试为图像添加水印,但是如果不使用背景颜色粘贴水印,我将无法这样做。 (见下面的例子)
我尝试从以下网站实施教程。
从下图中可以看出,当前结果显示带有黑色背景的水印,这是不可取的。 (有关所需结果,请参见预期结果图像)
我正在使用 Linux/Ubuntu 20.04 和 Python 3.8
以下是内容:
背景图片:
水印图片:
目前的结果:
预期结果:
使水印透明后的当前结果:
以下是我使用的代码,与网站教程示例相同。
#adding transparency to watermark image(as suggested)
from PIL import Image, ImageFilter
img = Image.open('path_to_watermark').convert('RGBA')
img.putalpha(130)
img.save('path_to_watermark')
def watermark_with_transparency(input_image_path, output_image_path, watermark_image_path, position):
base_image = Image.open(input_image_path).convert('RGBA')
watermark = Image.open(watermark_image_path).convert('RGBA')
width, height = base_image.size
transparent = Image.new('RGBA', (width, height), (0,0,0,0))
transparent.paste(base_image, (0,0))
transparent.paste(watermark, position, mask=watermark)
transparent.show()
transparent.save(output_image_path)
if __name__ == '__main__':
img = 'path_to_input_image /home/...'
watermark_with_transparency(img, 'path_to_output', 'path_to_watermark', position=(0,0))
我做错了什么? 谢谢你的帮助。
您正在粘贴一个没有透明度的图像。 作为PNG,这并不意味着它包含透明度,而是一个alpha层,在这种情况下,每个像素都等于255
不需要用putalpha让它透明,你只需要一个黑色区域透明的PNG文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.