iris-lib

build

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

example_output_image

Usage

Include iris-lib in your Cargo.toml:

toml iris-lib = "0.1.0"

Create palettes from pixels:

```rust use irislib::colorbucket::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:

bash [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.

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

Create palettes by passing the path of the target image:

```rust use irislib::colorbucket::ColorBucket;

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

Result:

bash [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.