Color Art
A rust crate for working with colors and color spaces.
More technical details, please refer to RFC: Construct Color from Color Space.
Usage
Add Dependency
[]
= "0.1"
Color generation
Color Space
Construct a color from a string. You can use the from_str method to construct a color from a string. Currently supported color spaces are:
- RGB
- RGBA
- HEX
- HSL
- HSV
- Named color from w3cx11
For example:
use Color;
use FromStr;
let color = from_str.unwrap;
let color = from_str.unwrap;
let color = from_str.unwrap;
let color = from_str.unwrap;
let color = from_str.unwrap;
let color = from_str.unwrap;
Random
You can use the random method to construct a random color.
use Color;
let color = random;
Color conversion
Stringify a color
Stringify a color to a string. You can use the hex, rgb, rgba, hsl, hsv, name method to stringify a color to a string. For example:
use Color;
use FromStr;
let color = from_str.unwrap;
color.hex; // "#ffff00"
color.rgb; // "rgb(255, 255, 0)"
color.rgba; // "rgba(255, 255, 0, 1)"
color.hsl; // "hsl(60, 100%, 50%)"
color.hsv; // "hsv(60, 100%, 100%)"
color.name; // "yellow"
Color Channel
You can use the red, green, blue, hue, saturation, lightness, alpha method to extract the color channel.
use Color;
use FromStr;
let color = from_str.unwrap;
color.red; // 255
color.green; // 255
color.blue; // 0
color.hue; // 60.0
color.saturation; // 1.0
color.lightness; // 0.5
color.alpha; // 1.0
Color Operation
average
You can use the average method to average a list of colors.
use Color;
use FromStr;
let colors = vec!;
let averaged_color = average;
averaged_color.hex; // "#aa5555"
darken
Decrease the lightness of a color in the HSL color space by an absolute amount.
use Color;
use FromStr;
let color = from_str.unwrap;
let darkened_color = color.darken.unwrap;
darkened_color.hex; // "#999900"
lighten
Increase the lightness of a color in the HSL color space by an absolute amount.
use Color;
use FromStr;
let color = from_str.unwrap;
let lightened_color = color.lighten.unwrap;
lightened_color.hex; // "#ffff66"