#base-16 #themes #base24 #tinted-theming #generate

tinted-scheme-extractor

A tool to create a Tinted Theming scheme based on a provided image

4 releases

new 0.2.2 Jun 18, 2024
0.2.1 Jun 18, 2024
0.2.0 Jun 16, 2024
0.1.0 Jun 16, 2024

#7 in #base-16

Download history 529/week @ 2024-06-16

529 downloads per month

MPL-2.0 license

29KB
651 lines

Tinted Scheme Extractor

Matrix Chat Crates.io LICENSE

tinted-scheme-extractor is a Tinted Theming Rust library which generates a Base16 theme based a provided image.

Note: This is early stages so the API is subject to change.

Install

cargo add tinted-scheme-extractor

Usage

use std::path::PathBuf;
use tinted_scheme_extractor::{create_scheme_from_image, SchemeParams, System, Variant};

fn main() {
    let image_path = PathBuf::from("./path/to/file.png");
    let name = "Your scheme name".to_string();
    let slug = "your-scheme-slug".to_string();
    let description = Some("Optional description".to_string());
    let variant = Variant::Dark;
    let system = System::Base16;
    let verbose = false;
    let author = "Your name".to_string();

    let scheme = create_scheme_from_image(SchemeParams {
        image_path,
        author,
        description,
        name,
        slug,
        system,
        verbose,
        variant,
    }).unwrap();

    println!("{}", &scheme);
}

Inspiration

Initially I wasn't sure if I wanted to continue Flavours development or to build something new. I brought this up with Misterio77 and he suggested building something new from scratch. This project is a part of rebuilding the Flavours functionality in Tinty.

Dependencies

~18–31MB
~312K SLoC