27CaT 发表于 2023-10-25 22:41:05

用Python给图片批量添加随机水印





这是之前应坛友的问题写的Python,须提前安装第三方库,安装PIL库(Pillow):在命令行中输入pip install pillow进行安装;
将此py文件放入根目录,另外根目录中有三个文件夹。
watermark(水印文件夹)、original(需加水印图片的文件夹)、output(成品文件夹)


from PIL import Image, ImageDraw
import os, random

water_path = './watermark'#水印文件夹路径
watermark_list = os.listdir(water_path)

def do(file_name):
    # 打开原始图片和水印图片
    original_image = Image.open(file_name)
    random_mark = random.choice(watermark_list)# 选择随机水印图片
    # print(random_mark)
    watermark_image = Image.open(f'{water_path}/{random_mark}')

    # 将水印图片缩放到合适的大小
    watermark_width, watermark_height = watermark_image.size
    base_width, base_height = original_image.size

    watermark_image = watermark_image.resize((base_width,int(base_width/watermark_width*watermark_height)))

    # 创建一个和原始图片相同大小的空白画布
    canvas = Image.new('RGBA', original_image.size)

    # 将原始图片粘贴到画布上
    canvas.paste(original_image, (0, 0))

    # 将水印图片粘贴到画布上
    canvas.paste(watermark_image, (0, 0))

    # 保存带有水印的图片
    name = file_name.split("\\")[-1]
    canvas.save(f'./output/do_{name}')# 成品保存路径
    print(f">>>>{name} 添加{random_mark}水印成功。")


for root, dirs, files in os.walk("./original"):# 需要加水印的文件夹路径
    for name in files:
      file_name = os.path.join(root, name)
      do(file_name)
页: [1]
查看完整版本: 用Python给图片批量添加随机水印