图片批量处理命令行工具-ImageKit
2025-11-05 09:59:40 阿炯

ImageKit是一个强大、快速且灵活的跨平台的批量处理图片命令行工具,通过并行处理来最大化性能,让人能轻松地对整个目录的图片进行尺寸调整、质量控制和添加高度可定制的水印。使用 Rust 编写开发并在MIT协议下授权使用。


功能特性

批量处理: 递归地处理指定输入目录下的所有图片 (.jpg, .jpeg, .png, .gif, .bmp, .webp)。
智能缩放:如果只提供宽度,则自动按比例计算高度,保证图片不变形;如果只提供高度,则自动按比例计算宽度。
质量控制: 使用 -q 或 --quality 参数(1-100)微调输出质量,在文件大小和视觉保真度之间取得平衡。设置为 100 可获得最佳质量。
强大的水印功能:
    多语言支持:完美渲染混合文本水印,支持全球主要书写系统,包括拉丁文、西里尔文、泰文以及中日韩统一表意文字。
    高度可定制: 在图片的九个标准位置添加文本,并自由设置字体大小。
    自定义颜色: 通过十六进制色码(如 RRGGBB 或 RRGGBBAA)精确控制水印颜色和透明度。
    智能缩放: 如果请求的水印对于图片来说过大,工具会自动缩小水印以确保其完整显示,永不裁切。
极速性能: 利用 Rayon 库并行处理图片,充分利用多核 CPU 的性能。
跨平台:可在 Windows, macOS, 和 Linux 上编译和运行。

安装与构建
也可以直接到Release页面下载预先编译好的二进制包。

需要先安装 Rust 和 Cargo。
克隆仓库
git clone https://github.com/hzbd/imagekit.git
cd imagekit

构建项目
cargo build --release

找到可执行文件
构建完成后,可执行文件位于 target/release/ 目录下。

命令行选项
选项 标志 描述 必需/可选 默认值
输入目录 -i, --input-dir 包含需要处理的图片的源目录。 必需 -
输出目录 -o, --output-dir 用于存放处理后图片的目录。 必需 -
宽度 --width (可选)调整图片的宽度。若不提供高度,则按比例缩放。 可选 原始宽度
高度 --height (可选)调整图片的高度。若不提供宽度,则按比例缩放。 可选 原始高度
水印文字 --watermark-text (可选)要添加的水印文字内容。 可选 -
水印位置 --watermark-position (可选)水印在图片上的位置。 可选 se
字体大小 --font-size (可选)水印文字的大小(单位:像素)。 可选 24
水印颜色 --watermark-color (可选)水印颜色,格式为 RRGGBB 或 RRGGBBAA。 可选 FFFFFF80 (半透明白)
质量 -q, --quality (可选)设置输出质量(1-100)。对于JPEG,影响压缩率;对于PNG,影响压缩速度。 可选 85
输出格式 --output-format (可选)指定输出图片的格式。 可选 原始格式


使用方法示例

示例 1: 添加包含中英文的水印
./target/release/imagekit \
-i example/img-src \
-o example/img-out \
--watermark-text "你好, World! - 印记"

示例 2: 缩放图片并以最高质量保存
如果希望调整尺寸但不损失图片质量,请使用 --quality 100。
./target/release/imagekit -i example/img-src -o example/img-out --width 1024 --quality 100

示例 3: 添加一个不透明的黑色水印(使用默认质量 85)
./target/release/imagekit \
-i example/img-src \
-o example/img-out \
--watermark-text "@女王密件" \
--watermark-color 000000FF

watermark-position 的可用值:
nw: 左上, north: 中上, ne: 右上
west: 中左, center: 居中, east: 中右
sw: 左下, south: 中下, se: 右下

演示
./target/release/imagekit -i example/img-src \
-o example/img-out/ \
--width 512 \
--watermark-text "©良辰 | ちよ | 서연 | Stella | Éléonore | แก้ว" \
--watermark-position se \
--font-size 13 \
--watermark-color ffffffFF \
--output-format png


最新版本:0.1


项目主页:https://github.com/hzbd/imagekit