A library for dealing with Colors and pixels. It implements arbitrary color space conversion, chromatic adaptation and other color manipulations.
Language | Github Actions | Coveralls | Gitter.im |
---|---|---|---|
Package | Hackage | Nightly | LTS |
---|---|---|---|
Color |
There is a clear separation between color models, color spaces and alternative representations of color spaces. All are distinct at the type level. The goal is to prevent mixups of incompatible color types as well as utilize type information for conversion between them.
Currently supported:
-
Color models:
Y
RGB
HSI
HSL
HSV
YCbCr
CMYK
-
Color spaces and arbitrary conversions between them:
-
Y
- luminance -
Y'
- luma -
CIE XYZ
-
CIE L*a*b*
-
RGB
:-
sRGB
- both standardized and derived -
AdobeRGB
- both standardized and derived -
ITU:
Rec470
,Rec601
andRec709
-
Alternative representations:
HSI
HSL
HSV
YCbCr
CMYK
-
-
-
Illuminants:
- CIE1931 - 2 degree observer
- CIE1964 - 10 degree observer
- Some common alternatives
-
Chromatic adaptation:
-
VonKries adaptation with transformations:
VonKries
Bradford
(default)Fairchild
CIECAM02
CMCCAT2000
-
-
Color Standards:
- RAL
- SVG
-
Color
is on a list of curated Awesome Colour resources. -
While working on this library the colour-science.org and their Python implementation of colour was used extensively as a reference.