colour-2.3.5: A model for human colour/color perception

Safe HaskellSafe
LanguageHaskell98

Data.Colour.CIE

Contents

Description

Colour operations defined by the International Commission on Illumination (CIE).

Synopsis

Documentation

data Colour a Source #

This type represents the human preception of colour. The a parameter is a numeric type used internally for the representation.

The Monoid instance allows one to add colours, but beware that adding colours can take you out of gamut. Consider using blend whenever possible.

Instances
ColourOps Colour Source # 
Instance details

Defined in Data.Colour.Internal

Methods

over :: Num a => AlphaColour a -> Colour a -> Colour a Source #

darken :: Num a => a -> Colour a -> Colour a Source #

AffineSpace Colour Source # 
Instance details

Defined in Data.Colour.Internal

Methods

affineCombo :: Num a => [(a, Colour a)] -> Colour a -> Colour a Source #

Eq a => Eq (Colour a) Source # 
Instance details

Defined in Data.Colour.Internal

Methods

(==) :: Colour a -> Colour a -> Bool #

(/=) :: Colour a -> Colour a -> Bool #

(Fractional a, Read a) => Read (Colour a) Source # 
Instance details

Defined in Data.Colour

(Fractional a, Show a) => Show (Colour a) Source # 
Instance details

Defined in Data.Colour

Methods

showsPrec :: Int -> Colour a -> ShowS #

show :: Colour a -> String #

showList :: [Colour a] -> ShowS #

Num a => Semigroup (Colour a) Source # 
Instance details

Defined in Data.Colour.Internal

Methods

(<>) :: Colour a -> Colour a -> Colour a #

sconcat :: NonEmpty (Colour a) -> Colour a #

stimes :: Integral b => b -> Colour a -> Colour a #

Num a => Monoid (Colour a) Source # 
Instance details

Defined in Data.Colour.Internal

Methods

mempty :: Colour a #

mappend :: Colour a -> Colour a -> Colour a #

mconcat :: [Colour a] -> Colour a #

cieXYZ :: Fractional a => a -> a -> a -> Colour a Source #

Construct a Colour from XYZ coordinates for the 2° standard (colourimetric) observer.

cieXYZView :: Fractional a => Colour a -> (a, a, a) Source #

Returns the XYZ colour coordinates for the 2° standard (colourimetric) observer.

luminance :: Fractional a => Colour a -> a Source #

Returns the Y colour coordinate (luminance) for the 2° standard (colourimetric) observer.

toCIEXYZ :: Fractional a => Colour a -> (a, a, a) Source #

Deprecated: toCIEXYZ has been renamed cieXYZView

mkChromaticity :: Fractional a => a -> a -> Chromaticity a Source #

Constructs Chromaticity from the CIE little x, little y coordinates for the 2° standard (colourimetric) observer.

chromaCoords :: Fractional a => Chromaticity a -> (a, a, a) Source #

Returns the CIE little x, little y, little z coordinates for the 2° standard (colourimetric) observer.

chromaX :: Fractional a => Chromaticity a -> a Source #

Returns the CIE little x coordinate for the 2° standard (colourimetric) observer.

chromaY :: Fractional a => Chromaticity a -> a Source #

Returns the CIE little y coordinate for the 2° standard (colourimetric) observer.

chromaZ :: Fractional a => Chromaticity a -> a Source #

Returns the CIE little z coordinate for the 2° standard (colourimetric) observer.

chromaConvert :: (Fractional b, Real a) => Chromaticity a -> Chromaticity b Source #

Change the type used to represent the chromaticity coordinates.

chromaColour Source #

Arguments

:: Fractional a 
=> Chromaticity a 
-> a

luminance

-> Colour a 

Constructs a colour from the given Chromaticity and luminance.

lightness Source #

Arguments

:: (Ord a, Floating a) 
=> Chromaticity a

White point

-> Colour a 
-> a 

Returns the lightness of a colour with respect to a given white point. Lightness is a perceptually uniform measure.

cieLABView Source #

Arguments

:: (Ord a, Floating a) 
=> Chromaticity a

White point

-> Colour a 
-> (a, a, a) 

Returns the CIELAB coordinates of a colour, which is a perceptually uniform colour space. The first coordinate is lightness. If you don't know what white point to use, use d65.

cieLAB Source #

Arguments

:: (Ord a, Floating a) 
=> Chromaticity a

White point

-> a

L* coordinate (lightness)

-> a

a* coordinate

-> a

b* coordinate

-> Colour a 

Returns the colour for given CIELAB coordinates, which is a perceptually uniform colour space. If you don't know what white point to use, use d65.

Orphan instances

AffineSpace Chromaticity Source # 
Instance details

Methods

affineCombo :: Num a => [(a, Chromaticity a)] -> Chromaticity a -> Chromaticity a Source #