colori
======
A rust crate for simple color conversion and manipulation.
## Features
- [ ] Color Spaces + Conversion
- [x] RGB
- [x] HSL
- [ ] HSV
- [ ] XYZ
- [ ] L*a*b
- [ ] Color Operations
- [ ] Basic operations on spaces (lightness, saturation, greyscale etc.)
- [ ] Mixing and mixing modes
- [ ] Color Parsing & Output
- [ ] Hex & Integer (RGB)
- [ ] Function Expressions
- [ ] CSS Compatible output
- [x] Color List (over 800 named color constants)
## Install
Add the following to your `[dependencies]` in `Cargo.toml`
```toml
colori = "0.1"
```
## Usage
Data structures for different color spaces
```rust
use colori::{RgbColor, HslColor};
let rgb = RgbColor(255, 0, 80);
rgb.red() // 255
rgb.green() // 0
rgb.blue() // 80
let hsl = HslColor(0.5, 0.4, 1.0);
hsl.hue(); // 0.5
hsl.hue_deg() // 180
hsl.lightness() // 0.4
hsl.saturation() // 1.0
```
Convert different color spaces into each other
```rust
use colori::{RgbColor, HslColor};
let hsl: HslColor = RgbColor(255, 0, 0).into();
let rgb: RgbColor = HslColor(0.5, 0.4, 1.0).into();
```
Access a list of over 800 defined color constants
```rust
use colori::{Color};
let rgb = Color::UNITED_NATIONS_BLUE;
println!("R: {}, G: {}, B: {}", rgb.red(), rgb.green(), rgb.blue());
```