我该如何使水印图片透明?例如,60% 的透明度。我尝试使用 putalpha
,但似乎并没有按预期工作。
from PIL import Image
temp_image = Image.open('test1.jpg')
watermark = Image.open('watermark.png')
x, y = temp_image.size
image_with_watermark = Image.new('RGBA', (x, y), (0, 0, 0, 0))
image_with_watermark.paste(temp_image, (0, 0))
image_with_watermark.paste(watermark, (0, 0), mask=watermark)
image_with_watermark.show()
编辑:
好的,这个可以工作,需要弄清如何使用百分号进行设置。
from PIL import Image
temp_image = Image.open('test1.jpg')
watermark = Image.open('watermark.png')
x, y = temp_image.size
watermask = watermark.convert("L").point(lambda x: min(x, 50))
watermark.putalpha(watermask)
image_with_watermark = Image.new('RGBA', (x, y), (0, 0, 0, 0))
image_with_watermark.paste(temp_image, (0, 0))
image_with_watermark.paste(watermark, (0, 0), mask=watermark)
image_with_watermark.show()
不好意思,水印质量在以下操作后变得非常低:
watermask = watermark.convert("L").point(lambda x: min(x, 50))
watermark.putalpha(watermask)
我需要达成目标的最佳方法是什么?