0

0

ImageKit:Rust 编写的一个强大、快速且灵活的命令行工具,用于批量处理图片

花韻仙語

花韻仙語

发布时间:2025-11-04 15:57:38

|

878人浏览过

|

来源于php中文网

原创

imagekit 是一个强大、快速且灵活的命令行工具,用于批量处理图片。它使用 rust 编写,通过并行处理来最大化性能,让你能轻松地对整个目录的图片进行尺寸调整、质量控制和添加高度可定制的水印。

功能特性

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

ImageKit:Rust 编写的一个强大、快速且灵活的命令行工具,用于批量处理图片

? 使用方法

示例

示例 1: 添加包含中英文的水印

./target/release/imagekit \ -i example/img-src \ -o example/img-out \ --watermark-text "你好, World! - 印记"

示例 2: 缩放图片并以最高质量保存

如果你希望调整尺寸但不损失图片质量,请使用 --quality 100

Transor
Transor

专业的AI翻译工具,支持网页、字幕、PDF、图片实时翻译

下载

./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

? 命令行选项

选项 标志 描述 必需/可选 默认值
输入目录 -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 (可选)指定输出图片的格式。 可选 原始格式

watermark-position 的可用值:

  • nw: 左上, north: 中上, ne: 右上
  • west: 中左, center: 居中, east: 中右
  • sw: 左下, south: 中下, se: 右下

详情见:https://github.com/hzbd/imagekit/blob/master/README-zh.md

源码地址:点击下载

相关专题

更多
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全

C++系统编程中的内存管理是指 对程序运行时内存的申请、使用和释放进行精细控制的机制,涵盖了栈、堆、静态区等不同区域,开发者需要通过new/delete、智能指针或内存池等方式管理动态内存,以避免内存泄漏、野指针等问题,确保程序高效稳定运行。它核心在于开发者对低层内存有完全控制权,带来灵活性,但也伴随高责任,是C++性能优化的关键。

10

2025.12.22

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

639

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

431

2024.06.27

CSS position定位有几种方式
CSS position定位有几种方式

有4种,分别是静态定位、相对定位、绝对定位和固定定位。更多关于CSS position定位有几种方式的内容,可以访问下面的文章。

81

2023.11.23

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

183

2023.11.24

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

4

2026.01.21

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

621

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1104

2023.07.27

Python多线程合集
Python多线程合集

本专题整合了Python多线程相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号