skribble_color

Parse supported css string into the supported color types.

Usage

Add the following to your Cargo.toml:

toml [dependencies] skribble_color = "0.0.0"

Color Conversions

The following will convert a Color type into another Color type.

```rust use skribble_color::Color;

let hex: Color = "#b1ffb0".parse().unwrap(); let rgb: Color = hex.intorgb(); let hsl: Color = hex.intohsl(); let hwb: Color = hex.intohwb(); let lch: Color = hex.intolch(); let lab: Color = hex.intolab(); let oklch: Color = hex.intooklch(); let oklab: Color = hex.into_oklab(); ```

Examples

The following will parse a css string into a Color type automatically detecting the type of color.

Hex

```rust use skribblecolor::Color; use skribblecolor::Rgba;

let hex: Color = "#b1ffb0".parse().unwrap(); asserteq!(hex.tostring(), "#b1ffb0"); assert_eq!(hex, Color::Hex(Rgba::new(0.69411767, 1.0, 0.6901961, 1.0))); ```

Rgb

```rust use skribblecolor::Color; use skribblecolor::Rgba;

let rgb: Color = "rgb(255, 0, 0)".parse().unwrap(); asserteq!(rgb.tostring(), "rgb(255 0 0)"); assert_eq!(rgb, Color::Rgb(Rgba::new(1.0, 0.0, 0.0, 1.0))); ```

Hsl

```rust use skribblecolor::Color; use skribblecolor::Hsla;

let hsl: Color = "hsl(120, 100%, 50%)".parse().unwrap(); asserteq!(hsl.tostring(), "hsl(120 100% 50%)"); assert_eq!(hsl, Color::Hsl(Hsla::new(120.0, 1.0, 0.5, 1.0))); ```

Hwb

```rust use skribblecolor::Color; use skribblecolor::Hwba;

let hwb: Color = "hwb(120 0% 0%)".parse().unwrap(); asserteq!(hwb.tostring(), "hwb(120 0% 0%)"); assert_eq!(hwb, Color::Hwb(Hwba::new(120.0, 0.0, 0.0, 1.0))); ```