我的知识记录

Python 批量给图片加水印:文字 / Logo 都支持

import os
from PIL import Image, ImageDraw, ImageFont

def add_watermark(folder, text='© 我的网站'):
    out_dir = os.path.join(folder, 'watermarked')
    os.makedirs(out_dir, exist_ok=True)
    font = ImageFont.truetype('C:/Windows/Fonts/msyh.ttc', 36)  # 微软雅黑
    for name in os.listdir(folder):
        if not name.lower().endswith(('.jpg', '.png', '.jpeg')):
            continue
        src = os.path.join(folder, name)
        if not os.path.isfile(src):
            continue
        img = Image.open(src).convert('RGBA')
        layer = Image.new('RGBA', img.size, (0, 0, 0, 0))
        draw = ImageDraw.Draw(layer)
        w, h = img.size
        draw.text((w - 400, h - 80), text, font=font, fill=(255, 255, 255, 180))
        result = Image.alpha_composite(img, layer).convert('RGB')
        result.save(os.path.join(out_dir, name), quality=90)
    print("水印添加完成")

add_watermark('./图片', text='© 我的网站')

Python 批量给图片加水印:文字 / Logo 都支持

标签:

更新时间:2026-09-14 13:34:22

上一篇:Python 批量压缩图片:一键缩小 90% 体积不失真

下一篇:Python 批量生成二维码:带 Logo 的漂亮二维码