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='© 我的网站')
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='© 我的网站')

更新时间:2026-09-14 13:34:22
上一篇:Python 批量压缩图片:一键缩小 90% 体积不失真