iris-lib 0.1.0

A library that creates color palettes from images using the median cut algorithm.
Documentation
  • Coverage
  • 33.33%
    6 out of 18 items documented3 out of 6 items with examples
  • Size
  • Source code size: 552.56 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.29 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Kaesebrot84/iris-lib
    1 1 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • Kaesebrot84

iris-lib

build

Generate color palettes from pixels or images using the mediancut algorithm.

Usage

Include iris-lib in your Cargo.toml:

iris-lib = "0.1.0"

Create palettes from pixels:

use iris_lib::color_bucket::ColorBucket;
use iris_lib::color::Color;

fn main() {
    let colors = vec![
        Color { r: 255, g: 0, b: 0, a: 0 },
        Color { r: 0, g: 255, b: 0, a: 0 },
        Color { r: 0, g: 0, b: 255, a: 0 }
    ];

    if let Some(mut bucket) = ColorBucket::from_pixels(colors) {
        let palette = bucket.make_palette(3); // three iterations
        println!("{:?}", palette);
    };
}

Result:

[Color { r: 255, g: 0, b: 0, a: 0 }, 
 Color { r: 0, g: 255, b: 0, a: 0 }, 
 Color { r: 0, g: 0, b: 255, a: 0 }]

Images

Include the image feature in your Cargo.toml reference.

iris-lib = { version = "0.1.0", features = ["image"]}

Create palettes by passing the path of the target image:

use iris_lib::color_bucket::ColorBucket;

fn main() {
    if let Some(mut bucket) = ColorBucket::from_image("peppers.png") {
        let palette = bucket.make_palette(2); // two iterations
        println!("{:?}", palette);
    };
}

Result:

[Color { r: 165, g: 197, b: 124, a: 255 }, 
 Color { r: 144, g: 172, b: 74, a: 255 }, 
 Color { r: 192, g: 51, b: 42, a: 255 }, 
 Color { r: 97, g: 42, b: 25, a: 255 }]

Command line tool

Check out iris the command line tool built on top of this library.