46 个版本
0.17.1 | 2024 年 8 月 11 日 |
---|---|
0.16.1 | 2023 年 12 月 9 日 |
0.15.0 | 2023 年 9 月 7 日 |
0.14.0 | 2023 年 4 月 18 日 |
0.8.9 | 2019 年 7 月 28 日 |
#322 in 图像
每月 296 次下载
在 4 crates 中使用
61KB
1.5K SLoC
图像转换
此 crate 是一个使用 MagickWand (ImageMagick) 进行图像识别、转换、交错和高质量缩放的高级库。
示例
识别图像。
use image_convert::{ImageResource, InterlaceType, identify};
let input = ImageResource::from_path("tests/data/P1060382.JPG");
let mut output = None;
let id = identify(&mut output, &input).unwrap();
assert_eq!(4592, id.resolution.width);
assert_eq!(2584, id.resolution.height);
assert_eq!("JPEG", id.format);
assert_eq!(InterlaceType::NoInterlace, id.interlace);
将图像转换为 PNG 图像,并对其进行缩放。
use std::path::Path;
use image_convert::{ImageResource, PNGConfig, to_png};
let source_image_path = Path::new("tests/data/P1060382.JPG");
let target_image_path = Path::join(source_image_path.parent().unwrap(), "P1060382_output.png");
let mut config = PNGConfig::new();
config.width = 1920;
let input = ImageResource::from_path(source_image_path);
let mut output = ImageResource::from_path(target_image_path);
to_png(&mut output, &input, &config).unwrap();
支持输出格式包括 BMP
、JPG
、PNG
、GIF
、WEBP
、ICO
、PGM
和 GrayRaw
。
Crates.io
https://crates.io/crates/image-convert
文档
许可证
依赖项
~3.5–6.5MB
~116K SLoC