A Rust library for converting between color spaces and comparing colors, ported from https://github.com/berendeanicolae/ColorSpace.
Color Conversion
You can convert between any supported color spaces using the from
trait method:
use ;
let rgb = new;
let hsv = from;
assert_eq!;
You can also do this generically with the from_color
method:
use ;
let rgb = new;
let hsv = from_color;
assert_eq!;
Comparing Colors
You can compare colors by using the compare_*
methods:
use ;
let rgb = new;
let hsv = new;
let diff = rgb.compare_cie2000;
assert_eq!;
// these two colors are the same, so the difference is zero
Currently Supported Color Spaces
- CMY
- CMYK
- HSL
- HSB
- HSV
- CIE L*AB
- Hunter LAB
- LCH
- LUV
- RGB
- XYZ
- YXY
Currently Supported Comparisons
- Euclidean
- CIE1976
- CIE2000
- CMC
Contibutions
I'm happy to take feedback and improvements on the API if there's ways it can be improved. I need to write more tests to check the quality of the conversion outputs as well, but they are tedious to write so I'm currently procrastinating on that.