96 lines
2.9 KiB
Markdown
96 lines
2.9 KiB
Markdown
# imgwatermark - 图像水印工具
|
||
|
||
一个 Python CLI 工具,用于给图片添加平铺水印。
|
||
|
||
## 功能特点
|
||
|
||
- **平铺水印**:全屏小字斜向排列,类似身份证/微信水印风格
|
||
- **格式转换**:支持加水印的同时转换图片格式
|
||
- **灵活输出**:支持绝对路径、相对路径(`./`、`../`)、纯格式指定
|
||
- **多格式支持**:输入输出均支持 jpg、png、bmp、gif、tiff、webp
|
||
|
||
## 安装依赖
|
||
|
||
```bash
|
||
pip install Pillow
|
||
```
|
||
|
||
## 使用方法
|
||
|
||
### 交互模式
|
||
|
||
直接运行程序,启动后会自动显示帮助菜单:
|
||
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
### 命令行模式
|
||
|
||
```bash
|
||
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 # 本文档
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
1. 路径支持正斜杠 `/` 和反斜杠 `\`,会自动规范化
|
||
2. 中文路径支持良好
|
||
3. 带引号的路径会自动去除引号处理
|
||
4. 水印是半透明的,不会完全遮盖原图内容
|
||
5. 使用 `./目录/.格式` 语法可以同时指定输出目录和格式
|
||
|
||
## 技术栈
|
||
|
||
- Python 3.11+
|
||
- Pillow (PIL)
|