1 个不稳定版本
0.1.0 | 2022年1月4日 |
---|
#20 在 #图像转换
24KB
363 行
image-tool
一个简单的批量图像处理命令行工具,用于调整大小和转换格式。此工具专门设计用于高效地对大量不同格式的图像进行转换。
安装
从crates.io安装二进制文件
cargo install image-tool
然后将~/.cargo/bin/
添加到PATH
中,以便在任何地方运行它。
用法
目前有两个子命令:resize
和convert
resize
:调整图像大小,可以是文件或文件夹convert
:将图像转换为特定格式,可以与文件或文件夹一起使用。
resize
的用法
USAGE:
image-tool.exe resize [FLAGS] [OPTIONS] <INPUT> --dimension <dimension>
FLAGS:
-f, --folder Perform resize for all images in a folder
-g, --guess Guess file format based on the first few bytes
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-d, --dimension <dimension> Specify the output dimension of the file in the form "SIZExSIZE" (eg. "64x64")
-o, --output <output> Specify the output file name and path
ARGS:
<INPUT> Specify the path of the file/folder to perform the operation
将文件夹test/
下的所有图像调整到36x36大小的示例。注意调整大小的所有图像将替换原有图像。
image-tool resize test/ -f --dimension 36x36
将文件test.png
调整到128x256,并保存为新的文件resized.png
而不替换原有文件。
image-tool resize test.png --dimension 128x256 -o resized.png
注意:默认情况下,图像格式从文件扩展名中提取。添加标志-g
将强制工具根据前几个魔数字节猜测格式,这将牺牲一些效率。
convert
的用法
USAGE:
image-tool.exe convert [FLAGS] [OPTIONS] <INPUT> --format <format>
FLAGS:
-f, --folder Perform resize for all images in a folder
-g, --guess Guess file format based on the first few bytes
-h, --help Prints help information
-V, --version Prints version information
-y, --yes Agrees to all following prompts (eg. delete original files)
OPTIONS:
-F, --format <format> Specify the output format (eg. "PNG"). Supported format are PNG, JPEG
-o, --output <output> Specify the output file name and path
ARGS:
<INPUT> Specify the path of the file/folder to perform the operation
将文件夹test/
下的所有图像转换为格式jpeg
,并将其保存到另一个文件夹result/
。将提示是否删除原始文件。
image-tool convert test/ -f --format jpeg -o result/
将单个文件test.jpeg
转换为png
,并继续删除原始文件而不提示。
image-tool convert test.jpeg --format png -y
注意:默认情况下,图像格式从文件扩展名中提取。添加标志-g
将强制工具根据前几个魔数字节猜测格式,这将牺牲一些效率。
构建
从头开始构建此工具需要您的机器上安装rust
编译器和cargo
。然后执行以下命令
git clone https://github.com/Isaac-the-Man/image-tool.git
cd image-tool/
cargo build --release
为了能够在机器上的任何地方使用此工具,请将target/release/
添加到PATH
中。
致谢
此二进制文件本质上只是一个对Rust库 image
的包装。
依赖项
约5.5MB
约66K SLoC