smartcrop2

Crates.iosmartcrop2
lib.rssmartcrop2
version0.4.0
created_at2024-07-31 00:05:37.064992+00
updated_at2025-03-04 21:31:47.359708+00
descriptionClone of smartcrop library in JavaScript
homepage
repositoryhttps://codeberg.org/ThetaDev/smartcrop.rs
max_upload_size
id1320467
size71,059
ThetaDev (Theta-Dev)

documentation

README

smartcrop.rs

Current crates.io version License CI status

Smartcrop is a content-aware image cropping library that attempts to find the best crop for a given image and aspect ratio.

The original Javascript implementation smartcrop.js was developed by Jonas Wagner.

This is a fork of https://github.com/bekh6ex/smartcrop.rs by Bekh-Ivanov Aleksey, since the original project is unmaintained and does not support newer versions of the image crate.

It also includes a new feature: removing black borders around an image before finding the best crop.

How to use

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);
Commit count: 0

cargo fmt