#image #javascript #find #js #crop #best #smartcrop

bin+lib smartcrop2

JavaScript 中的 smartcrop 库的克隆

2 个不稳定版本

0.3.0 2024 年 7 月 31 日
0.2.0 2024 年 7 月 31 日

#175 in 图像

Download history 264/week @ 2024-07-29 2/week @ 2024-08-05 4/week @ 2024-08-12

每月 270 次下载
2 个 crate 中使用(通过 rustypipe-downloader

MIT 许可证

37KB
1K SLoC

smartcrop.rs

Current crates.io version License CI status

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