2 个不稳定版本
0.3.0 | 2024 年 7 月 31 日 |
---|---|
0.2.0 | 2024 年 7 月 31 日 |
#175 in 图像
每月 270 次下载
在 2 个 crate 中使用(通过 rustypipe-downloader)
37KB
1K SLoC
smartcrop.rs
Smartcrop 是一个内容感知图像裁剪库,旨在为给定的图像和宽高比找到最佳裁剪方式。
原始的 JavaScript 实现是 smartcrop.js,由 Jonas Wagner 开发。
这是 Bekh-Ivanov Aleksey 的 https://github.com/bekh6ex/smartcrop.rs 的分支,因为原始项目已不再维护,并且不支持图像 crate 的新版本。
如何使用
let height = 1920;
let width = 1080;
let res = smartcrop::find_best_crop(
&image,
NonZeroU32::new(height).unwrap(),
NonZeroU32::new(width).unwrap()
).expect("Failed to find crop");
let c = res.crop;
let cropped = image.crop_imm(c.x, c.y, c.width, c.height);
let scaled = cropped.resize(width, height, image::imageops::FilterType::Lanczos3);
依赖项
~3MB
~54K SLoC