Files

96 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)