18 个版本 (10 个破坏性更新)
0.11.0-next.1 | 2024年6月4日 |
---|---|
0.10.3 | 2024年1月21日 |
0.10.2 | 2023年12月28日 |
0.9.1 | 2023年10月16日 |
0.2.0 | 2023年3月27日 |
#104 in 图像
每月165次 下载
125KB
3K SLoC
Rimage
一个由 squoosh! 启发的高效 Rust 图像优化 CLI 工具。
⚠️ 注意:此文档仅适用于最新版本的 rimage!您可以从 发布 标签获取最新版本,或者使用 cargo: cargo install [email protected]
功能
- 现代编解码器
- Rimage 使用现代编解码器优化以产生极小的图像
- 底层使用
zune_image
crate 提高性能
- 优化操作
- Rimage 提供了多种图像优化操作
- 调整大小 - 使用具有卓越性能的
fast_image_resize
crate - 量化 - 允许减少图像调色板
安装
您可以从 发布 标签下载最新版本。
如果您是 Rust 程序员,可以使用 cargo
安装 rimage。
cargo install rimage
或者,您可以使用 cargo binstall 直接从 GitHub 安装 rimage 可执行文件
cargo binstall rimage
注意
如果您只是想 使用友好的 GUI 轻松使用 Rimage,Rimage_gui 可能适合您,它支持中文和英文。只需选择您需要的版本并下载即可使用。
使用方法
Optimize images natively with best-in-class codecs
Usage: rimage [COMMAND]
Commands:
avif Encode images into AVIF format. (Small and Efficient)
farbfeld Encode images into Farbfeld format. (Bitmapped)
jpeg Encode images into JPEG format. (Progressive-able)
jpeg_xl Encode images into JpegXL format. (Big but Lossless)
mozjpeg Encode images into JPEG format using MozJpeg codec. (RECOMMENDED and Small)
oxipng Encode images into PNG format using OxiPNG codec. (Progressive-able)
png Encode images into PNG format.
ppm Encode images into PPM format. (Bitmapped)
qoi Encode images into QOI format. (Trendy and Small)
webp Encode images into WebP format. (Lossless-able)
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
基本优化适合网页使用
要使用默认设置优化图像,只需调用 rimage <command>
即可。例如
rimage mozjpeg ./image.jpg
默认情况下,rimage会将输出图像放置在珍贵的图像原位,如果输入和输出格式相同,则可能导致覆盖。要更改此行为,您可以使用以下选项
# will place output images in `./output` directory, images may be overwritten if has the same name
rimage mozjpeg -d ./output ./image.jpg
# will rename all input files before processing with `@backup` suffix
rimage mozjpeg --backup ./image.jpg
# will place output images in ./output directory preserving folder structure
rimage mozjpeg -d ./output -r ./inner/image.jpg ./image.jpg
预处理
Rimage具有管道预处理选项。简单用法
# will resize image to specified dimensions
rimage mozjpeg --resize 500x200 ./image.jpg
如果您想按特定顺序运行预处理管道,可以这样做
# will quantize image with 80% quality, after run resize to 64x64 pixels using the Nearest filter.
rimage mozjpeg --quantization 80 --resize 64x64 --filter nearest ./image.jpg
# will resize image to 64x64 pixels using the Nearest filter, and after run quantization with 80% quality.
rimage mozjpeg --resize 64x64 --filter nearest --quantization 80 ./image.jpg
请注意,某些预处理选项是无序的。例如,过滤器选项将对所有缩放调用应用缩放过滤器。对于抖动,也是如此,应用于每个量化调用。
高级选项
如果您想自定义优化,可以向编码器提供附加选项。对于mozjpeg,这些选项是有效的
Options:
-q, --quality <NUM> Quality, values 60-80 are recommended. [default: 75]
--chroma_quality <NUM> Separate chrome quality.
--baseline Set to use baseline encoding (by default is progressive).
--no_optimize_coding Set to make files larger for no reason.
--smoothing <NUM> Use MozJPEG's smoothing.
--colorspace <COLOR> Set color space of JPEG being written. [default: ycbcr] [possible values: ycbcr, grayscale, rgb]
--multipass Specifies whether multiple scans should be considered during trellis quantization.
--subsample <PIX> Sets chroma subsampling.
--qtable <TABLE> Use a specific quantization table. [default: NRobidoux] [possible values: AhumadaWatsonPeterson, AnnexK, Flat, KleinSilversteinCarney, MSSSIM, NRobidoux, PSNRHVS, PetersonAhumadaWatson, WatsonTaylorBorthwick]
有关更多信息,请使用 rimage help <命令>
有关库使用,请参阅 Docs.rs
支持的编解码器列表
图像编解码器 | 解码器 | 编码器 | 注意 |
---|---|---|---|
avif | libavif | ravif | 仅公共功能,静态 |
bmp | zune-bmp | X | 仅输入 |
farbfeld | zune-farbfeld | zune-farbfeld | |
hdr | zune-hdr | zune-hdr | |
jpeg | zune-jpeg | mozjpeg或jpeg-encoder | 当使用mozjpeg编码器时,多功能 |
jpeg-xl | jxl-oxide | zune-jpegxl | 仅无损 |
png | zune-png | oxipng或zune-png | 仅静态,当使用oxipng编码器时,多功能 |
ppm | zune-ppm | zune-ppm | |
psd | zune-psd | X | 仅输入 |
qoi | zune-qoi | zune-qoi | |
webp | webp | webp | 仅静态 |
支持的预处理选项列表
- 缩放
- 量化
- Alpha预乘
已知问题
- 目录路径以
\
结尾可能导致rimage崩溃,原因是cmd错误 #72653。
示例
这将崩溃
rimage png "D:\example.jpg" -d "D:\desktop\" -s "suffix"
这将按预期工作
rimage png "D:\example.jpg" -d "D:\desktop" -s "suf test" # without trailing backslash
rimage png "D:\example.jpg" -s "suffix" -d "D:\desktop\" # backslash at the end
贡献
阅读贡献指南以获取构建说明和指南。
许可
Rimage在Apache License 2.0和MIT License下双许可。您可以选择其中一种许可证用于您的使用。
除非您明确声明,否则您有意提交以包含在您的工作中的任何贡献,根据Apache-2.0许可证定义,应按上述方式双许可,而无需任何其他条款或条件。
更改日志
查看更改日志以获取特定版本的更改。
依赖关系
~16–31MB
~438K SLoC