一个简单而强大的命令行工具,用于为照片批量添加基于 EXIF 拍摄日期的水印。
- 📅 自动从照片 EXIF 信息中提取拍摄日期(年-月-日格式)
- 🎨 支持自定义水印字体大小、颜色和位置
- 📁 批量处理目录下的所有图片文件
- 💾 自动在原目录下创建
_watermark子目录保存处理后的图片 - 🖼️ 支持多种图片格式:JPG, PNG, BMP, TIFF
- 🎯 支持 7 种水印位置:左上、上中、右上、居中、左下、下中、右下
- 🌈 支持颜色名称和 RGB 值自定义
git clone https://github.com/ProfessorZhi/Photo-Watermark-1.git
cd Photo-Watermark-1Windows 系统:
pip install -r requirements.txtMac/Linux 系统:
pip3 install -r requirements.txt或直接安装 Pillow:
pip install Pillow
# Mac/Linux 使用: pip3 install Pillowpython main.py --helpWindows 示例:
# 处理指定目录的照片(使用默认设置:白色字体、右下角、字体大小50)
python main.py "C:\Users\YourName\Pictures\MyPhotos"
# 处理当前目录下的 test_images 文件夹
python main.py .\test_imagesMac/Linux 示例:
# 处理指定目录的照片
python3 main.py /home/user/photos
# 处理当前目录
python3 main.py ./photos# 设置字体大小和颜色
python main.py ./photos --font-size 60 --color red
# 设置水印位置(左上角)和边距
python main.py ./photos --position top-left --margin 30
# 使用 RGB 颜色值(橙色)
python main.py ./photos --color "255,165,0"
# 组合多个选项
python main.py ./photos --font-size 70 --color blue --position bottom-center --margin 40程序运行后,会在原目录下创建一个新的子目录:
原目录/
├── photo1.jpg
├── photo2.jpg
└── 原目录_watermark/ ← 新创建的目录
├── photo1.jpg ← 带水印的图片
└── photo2.jpg
============================================================
📷 Photo Watermark Tool
============================================================
输入目录: C:\Users\Admin\Pictures\Screenshots
字体大小: 50
字体颜色: white
水印位置: bottom-right
边距: 20px
============================================================
📁 输出目录: C:\Users\Admin\Pictures\Screenshots\Screenshots_watermark
📷 找到 15 张图片
处理: IMG_001.jpg
✓ 已处理: IMG_001.jpg
处理: IMG_002.jpg
⚠ IMG_002.jpg 没有 EXIF 信息
⚠ 使用文件修改日期: 2025-11-12
✓ 已处理: IMG_002.jpg
...
✓ 完成! 成功处理 15/15 张图片
📁 输出目录: C:\Users\Admin\Pictures\Screenshots\Screenshots_watermark
pip install -r requirements.txt或直接安装:
pip install Pillowpython main.py /path/to/photos# 设置字体大小和颜色
python main.py /path/to/photos --font-size 60 --color red
# 设置水印位置和边距
python main.py /path/to/photos --position top-left --margin 30
# 使用 RGB 颜色值
python main.py /path/to/photos --color "255,200,0"
# 组合使用多个选项
python main.py /path/to/photos --font-size 70 --color blue --position bottom-center --margin 40| 参数 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
directory |
照片所在目录路径 | 必填 | - |
--font-size |
字体大小 | 50 | 任意正整数 |
--color |
字体颜色 | white | white, black, red, green, blue, yellow, cyan, magenta 或 RGB (如 "255,255,255") |
--position |
水印位置 | bottom-right | top-left, top-center, top-right, center, bottom-left, bottom-center, bottom-right |
--margin |
水印边距(像素) | 20 | 任意正整数 |
- 扫描目录:程序扫描指定目录下的所有图片文件
- 读取 EXIF:从每张照片的 EXIF 信息中提取拍摄日期
- 备用方案:如果照片没有 EXIF 信息,使用文件的修改日期
- 添加水印:根据配置在照片上绘制日期水印(带阴影效果)
- 保存文件:将处理后的照片保存到
原目录名_watermark子目录
============================================================
📷 Photo Watermark Tool
============================================================
输入目录: E:\Photos\2024-Trip
字体大小: 50
字体颜色: white
水印位置: bottom-right
边距: 20px
============================================================
📁 输出目录: E:\Photos\2024-Trip\2024-Trip_watermark
📷 找到 15 张图片
处理: IMG_001.jpg
✓ 已处理: IMG_001.jpg
处理: IMG_002.jpg
✓ 已处理: IMG_002.jpg
...
✓ 完成! 成功处理 15/15 张图片
📁 输出目录: E:\Photos\2024-Trip\2024-Trip_watermark
- Python 3.8+:主要编程语言
- Pillow (PIL):图像处理库,用于读取 EXIF、绘制水印
- argparse:命令行参数解析
- pathlib:现代化的文件路径处理
python --version
# 或
python3 --version应该显示类似 Python 3.9.13 的版本信息。
- Windows: 访问 python.org 下载安装
- Mac: 使用
brew install python3 - Linux: 使用
sudo apt install python3(Ubuntu/Debian)
# 确保已安装 Pillow
pip install Pillow使用引号括起来:
python main.py "C:\My Photos\Summer 2024"尝试以下选项:
- 更改颜色:
--color black或--color white - 增加字体大小:
--font-size 80 - 调整位置:
--position top-left
支持:JPG, JPEG, PNG, BMP, TIFF, TIF
不会!原图完全保留,带水印的图片保存在新的 _watermark 子目录中。
程序会自动使用文件的修改日期作为水印内容。
- 仅处理当前目录下的图片文件,不包括子目录
- 如果照片没有 EXIF 信息,将使用文件的修改日期
- 输出图片为高质量 JPEG 格式(质量参数 95)
- 水印带有黑色阴影,增强可读性
- 原始照片不会被修改,可以放心使用
本项目包含至少 2 次提交和 1 个标签:
- ✅ 第 1 次 commit: 初始化项目,实现核心功能
- ✅ 第 2 次 commit: 添加使用示例和文档
- ✅ 标签: version1.0
查看提交历史:
git log --oneline --decorateMIT License
Vibe Coding Project
- GitHub: ProfessorZhi/Photo-Watermark-1
- 问题反馈: 请在 GitHub Issues 中提交