Files
imgwatermark/README.md
T

2.9 KiB
Raw Blame History

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        # 本文档

注意事项

  1. 路径支持正斜杠 / 和反斜杠 \,会自动规范化
  2. 中文路径支持良好
  3. 带引号的路径会自动去除引号处理
  4. 水印是半透明的,不会完全遮盖原图内容
  5. 使用 ./目录/.格式 语法可以同时指定输出目录和格式

技术栈

  • Python 3.11+
  • Pillow (PIL)