首页 > 解决方案 > 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')

在这里您可能会看到结果是什么: 图片

标签: pythonimagepython-imaging-librarytransparentwatermark

解决方案


推荐阅读