# 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)