python如何把一个png中不透明的部分缩小再与另一个图片为背景全成一张图?

一个png中不透明的部分缩小部分要求放在另一张图片的指点坐标处,比如x,y都居中

阅读 1.9k
2 个回答
from PIL import Image, ImageDraw, ImageFont

def add_watermark(img_path, watermark_path):
    # 加载主图片
    main_img = Image.open(img_path).convert('RGBA')
    main_width, main_height = main_img.size

    # 加载水印图片
    watermark_img = Image.open(watermark_path).convert('RGBA')
    watermark_width, watermark_height = watermark_img.size

    # 水印图片缩小一半
    scale = 0.5
    new_size = (int(watermark_width * scale), int(watermark_height * scale))

    # 改变图像大小
    new_img = watermark_img.resize(new_size)
    width, height = new_img.size

    # 创建画布
    position = (int((main_width - width)/2), int((main_height - height)/2))
    watermark_canvas = Image.new('RGBA', main_img.size, (0, 0, 0, 0))
    watermark_canvas.paste(new_img, position)

    # 合并图片
    result_img = Image.alpha_composite(main_img, watermark_canvas)

    # 保存图片
    result_path = img_path.split('/')[-1].split('.')[0] + '_with_watermark.png'
    result_img.save(result_path)
    print('Watermark added successfully to the image: ', result_path)

add_watermark('./main.webp', './water.png')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题