Color Art
A rust crate for working with colors and color spaces.
Documentation
See Color Art.
Usage
Add Dependency
[dependencies]
color-art = "0.2"
Color generator
You can use the from_str
method to construct a color from a string.
Currently supported color formats:
- RGB
- RGBA
- HEX
- HSL
- HSV
- HWB
- CMYK
- Named color from w3cx11
For example:
use color_art::Color;
use std::str::FromStr;
let color = Color::from_str("rgb(255, 255, 0)").unwrap();
let color = Color::from_str("rgba(255, 255, 0, 0.5)").unwrap();
let color = Color::from_str("#ffff00").unwrap();
let color = Color::from_str("hsl(60, 100%, 50%)").unwrap();
let color = Color::from_str("hsv(60, 100%, 100%)").unwrap();
let color = Color::from_str("hwb(60, 0%, 0%)").unwrap();
let color = Color::from_str("cmyk(0%, 0%, 100%, 0%)").unwrap();
let color = Color::from_str("yellow").unwrap();
Other color generator methods:
- random - Generate a random color.
- mix - Mix two colors.
- blend - Blend two colors with a blending mode.
- average - Average a list of colors.
Color conversion
Stringify a color
Stringify a color to a string. You can use the hex
, rgb
, rgba
, hsl
, hsv
, hwb
, name
method to stringify a color to a string. For example:
use color_art::Color;
use std::str::FromStr;
let color = Color::from_str("#ffff00").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.hwb(); // "hwb(60, 0%, 0%)"
color.cmyk(); // "cmyk(0%, 0%, 100%, 0%)"
color.name(); // "yellow"
Color Channel
You can use the red
, green
, blue
, alpha
, hue
, saturation
, lightness
, hsv_hue
, hsv_saturation
, hsv_value
, luma
, luminance
method to extract the color channel.
use color_art::Color;
use std::str::FromStr;
let color = Color::from_str("#abcdef").unwrap();
color.red(); // 171
color.green(); // 205
color.blue(); // 239
color.alpha(); // 1.0
color.hue(); // 210.0
color.saturation(); // 0.68
color.lightness(); // 0.8
color.hsv_hue(); // 210.0
color.hsv_saturation(); // 0.28
color.hsv_value(); // 0.94
color.luma(); // 0.59
color.luminance(); // 0.79
Color Operation
- darken - Darken a color.
- lighten - Lighten a color.
- saturate - Saturate a color.
- desaturate - Desaturate a color.
- greyscale - Greyscale a color.
- fade - Fade a color.
- fade in - Fade in a color.
- fade out - Fade out a color.
- spin - Spin a color.
- mix - Mix with another color.
- tint - Tint a color.
- shade - Shade a color.
More details, please refer to Color Operation.
Made with