An RGB color backed by a u32
.
Example:
```rust use inku::Color;
let color = Color::new(0x000000); let new_color = color // Lighten the color by 10% .lighten(0.1) // Saturate the color by 30% .saturate(0.3);
asserteq!(newcolor.to_u32(), 0x201111); ```
Because we're representing the colour with a u32
, manipulations are not reversible.
Consider the following:
```rust let color = Color::new(0xfacade);
// We convert the RGB values to HSL and desaturated the color let desaturatedcolor = color.desaturate(0.1); asserteq!(0xf7ccde, desaturatedcolor.tou32());
// We don't know what our original hue was, so we can't get back to the original color let resaturatedcolor = desaturatedcolor.saturate(0.1); asserteq!(0xf9c9dd, resaturatedcolor.to_u32()); ```
License: MIT OR Apache-2.0