Python прозрачный водяной знак не прозрачный - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть эта проблема, когда любой водяной знак, который я ставлю, фон, который является прозрачным, выглядит непрозрачным.

Вот код:

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')

Здесь вы можете посмотрим, что получится: image

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...