1 unstable release
new 0.1.0 | Apr 2, 2025 |
---|
#391 in Images
2MB
66 lines
Image Splitting Library
A Rust library for splitting images into smaller sub-images. This library provides two main functions:
- Splitting an image into 9 equal parts (3x3 grid)
- Splitting an image into sub-images of any specified size
Features
- Split images into 9 equal parts (3x3 grid)
- Split images into custom-sized sub-images
- Handle edge cases where image dimensions aren't perfectly divisible
- Support for various image formats (PNG, JPEG, etc.)
- Preserve image quality and format
Installation
Add this to your Cargo.toml
:
[dependencies]
image_splitting = "0.1.0"
Usage
Splitting into 9 equal parts
use image_splitting::split_image;
let sub_images = split_image("path/to/image.png")?;
assert_eq!(sub_images.len(), 9);
Splitting into custom-sized parts
use image_splitting::split_image_with_size;
// Split into 100x100 pixel sub-images
let sub_images = split_image_with_size("path/to/image.png", 100, 100)?;
Examples
Basic 3x3 Split
use image_splitting::split_image;
fn main() -> Result<(), image::ImageError> {
let sub_images = split_image("input.png")?;
// Save each sub-image
for (i, sub_image) in sub_images.iter().enumerate() {
sub_image.save(format!("sub_image_{}.png", i))?;
}
Ok(())
}
Custom Size Split
use image_splitting::split_image_with_size;
fn main() -> Result<(), image::ImageError> {
let sub_images = split_image_with_size("input.png", 200, 150)?;
// Save each sub-image
for (i, sub_image) in sub_images.iter().enumerate() {
sub_image.save(format!("sub_image_{}.png", i))?;
}
Ok(())
}
Dependencies
image
crate (version 0.24) for image processing
Author
Created by Raisfeld Ori on February 4, 2025
License
This project is licensed under the MIT License - see the LICENSE file for details.