本文目录导读:

是的,有很多实用脚本可以自动添加图片水印,支持批量处理,具体实现方式取决于你的技术背景和使用场景:
Python 脚本(最灵活、功能最强)
如果你会一点 Python,这是最推荐的方案,使用 Pillow(PIL)库可以轻松实现。
安装依赖:
pip install pillow
核心脚本示例(覆盖常见需求):
import os
from PIL import Image, ImageDraw, ImageFont
def add_watermark(input_dir, output_dir, watermark_text, opacity=128, font_size=36):
"""
批量添加文字水印
:param input_dir: 输入图片文件夹
:param output_dir: 输出文件夹
:param watermark_text: 水印文字
:param opacity: 透明度 (0-255)
:param font_size: 字体大小
"""
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 设置字体(Windows常用路径,macOS/Linux需调整)
font_path = "C:/Windows/Fonts/msyh.ttc"
font = ImageFont.truetype(font_path, font_size)
for filename in os.listdir(input_dir):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp')):
img_path = os.path.join(input_dir, filename)
img = Image.open(img_path).convert("RGBA")
# 创建水印图层
watermark = Image.new("RGBA", img.size, (0,0,0,0))
draw = ImageDraw.Draw(watermark)
# 获取文字尺寸并居中
bbox = draw.textbbox((0,0), watermark_text, font=font)
text_width = bbox[2] - bbox[0]
text_height = bbox[3] - bbox[1]
x = (img.width - text_width) // 2
y = (img.height - text_height) // 2
# 添加白色文字,指定透明度
draw.text((x, y), watermark_text, fill=(255,255,255,opacity), font=font)
# 合并图层
watermarked = Image.alpha_composite(img, watermark).convert("RGB")
watermarked.save(os.path.join(output_dir, filename))
# 使用示例
add_watermark("./input", "./output", "©YourName", opacity=100)
高级功能扩展(根据需求自由组合):
- 图片水印:替换文字为另一张图片(如Logo)
- 平铺水印:在图片上重复排满水印
- 旋转水印:添加斜向水印
- 位置自定义:四角、顶部、底部等
- 自动缩放:根据图片大小动态调整水印尺寸
命令行工具(适合非程序员、批量处理)
ImageMagick
最强大的命令行图像处理工具,一条命令搞定批量水印。
# 安装(Windows/macOS/Linux都支持)
# Windows: 下载安装包
# macOS: brew install imagemagick
# Linux: sudo apt install imagemagick
# 批量添加透明度水印(居中)
mogrify -path ./output -font Arial -pointsize 72 -fill "rgba(255,255,255,0.3)" -gravity center -annotate 0 "©YourName" *.jpg
# 平铺水印(更安全)
convert input.jpg -font Arial -pointsize 36 -fill "rgba(200,200,200,0.2)" -draw "tile 1x1 'text 0,0 \'©YourName\''" output.jpg
# 批量处理
for file in *.jpg; do
convert "$file" -font Arial -pointsize 36 -fill "rgba(255,255,255,0.3)" -gravity southeast -annotate 0 "©Watermark" "watermarked_$file"
done
ffmpeg(视频水印,也可以处理图片)
# 给单张图片加文字水印 ffmpeg -i input.jpg -vf "drawtext=text='©YourName':fontfile=C:/Windows/Fonts/msyh.ttf:x=10:y=10:fontsize=24:fontcolor=white@0.5" output.jpg
现成桌面软件(零代码)
- XnConvert(免费、跨平台、支持批量+脚本)
- IrfanView(Windows免费,支持命令行批量处理)
- PhotoScape X(免费,直观界面)
在线工具(少量图片、快速处理)
- Watermark.ws(拖拽即可)
- img2go.com(支持批量)
- Canva(在线版)
选择建议:
| 你的需求 | 推荐方案 |
|---|---|
| 一次处理大量图片、需要自定义 | Python脚本 |
| 偶尔处理、不想写代码 | ImageMagick命令行 |
| 只想选择文件夹、点一下就好 | XnConvert 或 PhotoScape |
| 处理几张图在手机上 | 在线工具 |
安全提示:水印建议使用半透明+斜角+平铺模式,这样即使裁剪也难以去除,保存原图备份。