- Notifications
You must be signed in to change notification settings - Fork1
A rust crate for working with colors and color spaces.
License
JiatLn/color-art
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A rust crate for working with colors and color spaces.
SeeColor Art.
[dependencies]color-art ="0.3"
You can use thefrom_str
method to construct a color from a string.
Currently supported color formats
rgb
/rgba
hex
hsl
/hsla
hsv
hsi
hwb
cmyk
xyz
yiq
yuv
YCbCr
lab
named color
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("hsla(60, 100%, 50%, 0.6)").unwrap();let color =Color::from_str("hsv(60, 100%, 100%)").unwrap();let color =Color::from_str("hsi(60, 100%, 66.67%)").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("xyz(0.769975, 0.927808, 0.138526)").unwrap();let color =Color::from_str("yiq(0.886, 0.32126, -0.31114)").unwrap();let color =Color::from_str("yuv(0.886, -0.4359, 0.1)").unwrap();let color =Color::from_str("YCbCr(225.93, 0.5755, 148.7269)").unwrap();let color =Color::from_str("lab(97.14, -21.55, 94.48)").unwrap();let color =Color::from_str("yellow").unwrap();
You can use thefrom_num
method to construct a color from a number.
For example:
use color_art::Color;let color =Color::from_num(16776960).unwrap();let color =Color::from_num(0xffff00).unwrap();
You can use thefrom_name
method to construct a color from a name.
For example:
use color_art::Color;let color =Color::from_name("yellow").unwrap();
You can use thefrom_<color_space>
method to construct a color from a color space.
Currently supported color spaces:
rgb
rgba
hsl
hsv
cmyk
hex
More color spaces will be supported in the future.
For example:
use color_art::Color;let color =Color::from_rgb(255,255,0).unwrap();let color =Color::from_rgba(255,255,0,0.5).unwrap();let color =Color::from_hsl(60.0,1.0,0.5).unwrap();let color =Color::from_hsv(60.0,1.0,1.0).unwrap();let color =Color::from_cmyk(0.0,0.0,1.0,0.0).unwrap();let color =Color::from_hex("#ffff00").unwrap();
More examples can be found inConstruct from color spaces.
- random - Generate a random color.
- mix - Mix two colors.
- blend - Blend two colors with a blending mode.
- average - Average a list of colors.
Stringify a color to a string.
Refer toConstruct from string.
Extract the color channels.
Refer toColor Channels.
Color operation functions.
Refer toColor Operations.
Made with ❤️ byJiatLn.
About
A rust crate for working with colors and color spaces.