| Crates.io | bracket-color |
| lib.rs | bracket-color |
| version | 0.8.7 |
| created_at | 2020-02-21 17:28:07.517586+00 |
| updated_at | 2022-10-04 18:52:53.88503+00 |
| description | RGB and HSV color handling and utilities, including lerp and W3C named colors. Part of the bracket-lib family. |
| homepage | https://github.com/thebracket/bracket-lib |
| repository | https://github.com/thebracket/bracket-lib |
| max_upload_size | |
| id | 211249 |
| size | 214,035 |
This crate provides a color system for use in the bracket-terminal system. It is part of the overall bracket-lib system.
To obtain bracket-color, include the following in your Cargo.toml file:
[dependencies]
bracket-color = "~0.8"
The basic structure is RGB, which represents a color as red/green/blue components. You can construct a color in a number of ways:
new() provides a black (all zeroes) entry.from_f32 takes three floats, from 0.0 to 1.0 as a starting point.from_u8 takes there bytes, from 0 to 255.named takes a tuple of floats, with a LOT of predefined colors available. (e.g. RGB::named(RED)).from_hex takes an HTML/CSS style hex number and converts it (e.g. RGB::from_hex("#aabbcc"))).You can also convert RGB structures:
to_hsv makes a Hue-Saturation-Value color.to_greyscale uses a standard grayscale operation to make a greyscale approximation of a color.desaturate makes a better greyscale conversion by converting to HSV and lowering the saturation.lerp lets you smoothly transition between two colors, in RGB space.The HSV system provides color support in the HSV space. You can construct an HSV color as follows:
new() makes an all-zero HSV color.from_f32 lets you specify HSV as floats.RGB::to_hsv converts an RGB color into an HSV color.You can also go back to RGB with to_rgb.
A ColorPair is simply a helper structure holding both a foreground and a background.
Everything is exported via the bracket_color::prelude namespace.
serde feature flag, the RGB, HSV and ColorPair structures are derived as Serde serializable/de-serializable.rex feature flag enables RexPaint support.palette feature flag enables a static (thread-safe) palette map, linking named colors to colors. It's empty by default (the add_named_colors_to_palette adds all of the constant named colors for you, in lower case).bevy feature, conversions between Bevy's Color type and the bracket-color types are enabled.There are a few examples to help get you going. They use crossterm for terminal output. You may run the examples with cargo run --example <name>.
lerp is a simple color lerp.lerpit is an iterator-based lerp.lerpit_hsv is an HSV lerp.named_colors demonstrates how to access named colors.shades_of_grey demonstrates greyscale and desaturate functions.colors demonstrates various ways to acquire colors.