Skip to content

Rafaeltheraven/colourado_iterator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Colourado-Iter

This is a fork of Colourado.

A small and minimalistic library to generate a random color palette.
The user-facing Color struct contains RGB colors ranging from 0 to 1.
All colors are of type f32 (no exceptions).

This fork implements the Iterator trait for the ColorPalette struct, allowing it to continuously create new colors every time next is called. Furthermore, it allows you to supply your own rng to determine the initial hue.

Additionally, the Color struct has been extended to allow more representations (such as converting back to HSV, or returning a hex color representation).

Usage

use colourado::{Color, ColorPalette, PaletteType};

let palette = ColorPalette::new(PaletteType::Random, false, &mut rand::thread_rng());
let random_color = palette.next();
let color_array: [f32; 3] = palette.next().to_array();
let hue = 315.0;
let saturation = 0.5;
let value = 0.3;
let rgb_color: Color = Color::hsv_to_rgb(hue, saturation, value);

Optionally, you can use the HsvPalette struct to get a generator which spits out the immediate HSV values as opposed to a Color struct.

Example

A color palette might look like this when rendered:

Example image

Test the color palettes for yourself by running
cargo run --example preview TYPE NUM adjacent|spread
TYPE can be one of random, pastel, or dark NUM is the amount of colors to generate and display adjacent or spread determine whether the colors are generated close to each other or spread apart.

About

Minimalistic color palette generator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%