jigsaw_puzzle_generator

Crates.iojigsaw_puzzle_generator
lib.rsjigsaw_puzzle_generator
version0.2.0
sourcesrc
created_at2024-10-29 11:04:34.960883
updated_at2024-11-30 06:40:11.229151
descriptionLibrary for generating jigsaw puzzle images
homepagehttps://github.com/foxzool/jigsaw_puzzle
repositoryhttps://github.com/foxzool/jigsaw_puzzle/jigsaw_puzzle_generator
max_upload_size
id1426924
size96,744
ZoOL (foxzool)

documentation

https://docs.rs/jigsaw_puzzle_generator

README

crates.io MIT/Apache 2.0 Documentation

Jigsaw Puzzle Generator

jigsaw_puzzle_generator is a simple helper to generate jigsaw puzzle in Rust. Inspired by the puzzle-paths

Usage

use env_logger::{Builder, Env};
use jigsaw_puzzle_generator::JigsawGenerator;
use std::env;
use std::fs::create_dir_all;

fn main() {
    if env::var("RUST_LOG").is_err() {
        env::set_var("RUST_LOG", "debug")
    }
    let env = Env::default();
    Builder::from_env(env).format_timestamp_millis().init();
    let image_path = env::args().nth(1).unwrap_or("raw.jpg".to_string());
    let template = JigsawGenerator::from_path(&image_path, 9, 6)
        .expect("Failed to load image")
        .generate(false)
        .expect("Failed to generate puzzle");
    create_dir_all("images").expect("Failed to create images directory");
    template
        .origin_image
        .save("images/origin_image.png")
        .expect("Failed to save image");

    for piece in template.pieces.iter() {
        piece
            .crop(&template.origin_image)
            .save(format!("images/puzzle_piece_{}.png", piece.index))
            .expect("Failed to save image");
    }
}

Commit count: 0

cargo fmt