ec94e5854bfa247601fe09fd28dc735780f3e896
imgwatermark - 图像水印工具
一个 Python CLI 工具,用于给图片添加平铺水印。
功能特点
- 平铺水印:全屏小字斜向排列,类似身份证/微信水印风格
- 格式转换:支持加水印的同时转换图片格式
- 灵活输出:支持绝对路径、相对路径(
./、../)、纯格式指定 - 多格式支持:输入输出均支持 jpg、png、bmp、gif、tiff、webp
安装依赖
pip install Pillow
使用方法
交互模式
直接运行程序,启动后会自动显示帮助菜单:
python main.py
命令行模式
python main.py "图片路径" "水印内容"
命令说明
| 命令 | 说明 | 示例 |
|---|---|---|
图片路径 "水印内容" |
加水印,输出到原目录 | "D:/test.jpg" "你好" |
图片路径>格式 "内容" |
加水印并转换格式 | "D:/test.png">.jpg "你好" |
图片路径>/目录/文件.格式 "内容" |
输出到指定目录 | "D:/test.png">/output/result.jpg "你好" |
图片路径>./相对路径 "内容" |
输出到相对目录 | "D:/test.png">./1/test.jpg "你好" |
/get 或 get |
显示已处理图片数量 | /get |
/exit 或 exit |
退出程序 | /exit |
路径格式说明
| 输入规格 | 输出位置 | 输出文件名 |
|---|---|---|
.png / /png |
原图片所在目录 | 原名_watermarked.png |
./output.png |
脚本所在目录 | output.png |
../output.png |
脚本上级目录 | output.png |
/absolute/path.png |
绝对路径 | path.png |
output.png |
脚本所在目录 | output.png |
./1/.bmp |
脚本目录下 1/ 子目录 |
原名.bmp |
支持的格式
- 输入格式:.jpg, .jpeg, .png, .bmp, .gif, .tiff, .webp
- 输出格式:同上,可互相转换
水印样式
- 字体大小:10px(小字)
- 布局方式:斜向45°平铺,间距自适应
- 颜色:深灰色 rgba(40, 40, 40, 220),约85%不透明度
- 效果:类似微信截图水印风格,半透明覆盖全屏
统计功能
程序会在同级目录生成 .processed_count 文件,记录累计处理的图片数量。使用 /get 命令可查看。
项目结构
imgwatermark/
├── main.py # CLI 入口,命令解析
├── watermark.py # 核心水印逻辑
├── config.py # 配置常量
├── requirements.txt # 依赖声明
├── .gitignore # Git 忽略规则
└── README.md # 本文档
注意事项
- 路径支持正斜杠
/和反斜杠\,会自动规范化 - 中文路径支持良好
- 带引号的路径会自动去除引号处理
- 水印是半透明的,不会完全遮盖原图内容
- 使用
./目录/.格式语法可以同时指定输出目录和格式
技术栈
- Python 3.11+
- Pillow (PIL)
Languages
Python
100%