实用脚本能自动添加图片水印吗?

wen 实用脚本 2

本文目录导读:

实用脚本能自动添加图片水印吗?

  1. Python 脚本(最灵活、功能最强)
  2. 命令行工具(适合非程序员、批量处理)
  3. 现成桌面软件(零代码)
  4. 在线工具(少量图片、快速处理)
  5. 选择建议:

是的,有很多实用脚本可以自动添加图片水印,支持批量处理,具体实现方式取决于你的技术背景和使用场景:

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
处理几张图在手机上 在线工具

安全提示:水印建议使用半透明+斜角+平铺模式,这样即使裁剪也难以去除,保存原图备份。

抱歉,评论功能暂时关闭!