重写路径解析+水印渲染,修复双后缀bug和水印不可见问题

- 完全重写 _parse_output_spec,所有路径基于输入文件位置解析
- 新增 /. 分隔检测,修复 /1/.jpg 生成 .jpg.png 双后缀问题
- / 开头改为输入文件所在盘根目录(os.path.splitdrive)
- 水印渲染改用数学旋转矩阵方案,直接在原图尺寸overlay绘制
- 字体从 10px 提升到 16px 增强可见性
- 清理临时写入脚本 _write_watermark.py
This commit is contained in:
ypshidifu
2026-09-19 11:00:27 +08:00
parent 3d5e60b6de
commit e497e47227
3 changed files with 132 additions and 172 deletions
+8 -5
View File
@@ -18,15 +18,18 @@
- 输出:同上(可互相转换)
## 技术约定
- 水印样式:斜向45°小字(10px),无背景色块,深色半透明rgba(40,40,40,220),参考微信截图水印风格
- 水印样式:斜向45°小字(16px),无背景色块,深色半透明rgba(40,40,40,220),参考微信截图水印风格
- 水印渲染:数学旋转矩阵方案(45° cos/sin 映射网格坐标到图像坐标),anchor="mm"居中
- 间距自适应:spacing_x=max(120, width//3), spacing_y=max(80, height//2)
- 路径解析规则(_parse_output_spec):
- `/.bmp` → 输入文件所在盘的根目录(如 `C:/原图名_watermarked.bmp`)
- `/1/.jpg` → 盘根/1/文件夹 + 原图名.jpg(`/.` 分隔检测)
- `/test.png` → 输入文件所在盘根目录+指定文件名
- `./.bmp` → 原目录,格式转换为 bmp
- `./1/.bmp` → 脚本目录下的 1/ 文件夹,格式为 bmp
- `../test.png` → 脚本上级目录
- `./1/.bmp` → 原目录下的 1/ 文件夹,格式为 bmp
- `../test.png` → 输入目录上级
- `png` / `.png` → 原目录,格式转换(保留原名加 _watermarked 后缀)
- `test.jpg` → 脚本所在目录
- 2026-09-18 最终版:重写路径解析逻辑,`/` 开头表示输入文件所在盘的根目录(非 d: 盘固定)
- `test.jpg` → 输入文件所在目录
- 所有路径基于输入文件位置(input_abs)解析,非脚本所在目录
- 2026-09-19 重写版:完全重写路径解析+水印渲染,解决双后缀bug、水印不可见、路径硬编码问题