V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
fzjwdd
V2EX  ›  分享创造

[重复造轮子] 一个 rust 写的高效批量处理图片小工具 - imagekit

  •  
  •   fzjwdd · 16 天前 · 1120 次点击

    ImageKit

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

    🌟 功能特性

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

    开源地址: https://github.com/hzbd/imagekit/tree/master

    ImageKit

    4 条回复    2025-07-19 14:44:29 +08:00
    exkernel
        1
    exkernel  
       16 天前
    有计划发布静态编译 binary 么
    fzjwdd
        2
    fzjwdd  
    OP
       15 天前
    @exkernel 发布编译好的二进制版本吗?你需要哪个平台的,我可以直接帮你编译出来。
    exkernel
        3
    exkernel  
       15 天前
    @fzjwdd #2 linux/macos 的 amd64
    fzjwdd
        4
    fzjwdd  
    OP
       14 天前
    @exkernel
    https://github.com/hzbd/imagekit/releases
    已增加二进制包下载。ps:手头只有 m 系的 macos 所以其他发行版暂时没法验证。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   916 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 20:40 · PVG 04:40 · LAX 13:40 · JFK 16:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.