Copyright | (c) Alexey Kuleshevich 2019-2020 |
---|---|
License | BSD3 |
Maintainer | Alexey Kuleshevich <lehins@yandex.ru> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- pattern AdobeRGB :: Color RGB e -> Color (AdobeRGB l) e
- pattern ColorAdobeRGB :: e -> e -> e -> Color (AdobeRGB l) e
- pattern ColorAdobeRGBA :: e -> e -> e -> e -> Color (Alpha (AdobeRGB l)) e
- data AdobeRGB (l :: Linearity)
- data D65
- primaries :: RealFloat e => Gamut rgb i e
- npmStandard :: RealFloat e => NPM AdobeRGB e
- inpmStandard :: RealFloat e => INPM AdobeRGB e
- transfer :: Floating a => a -> a
- itransfer :: Floating a => a -> a
- module Graphics.Color.Space
Constructors for a AdobeRGB color space.
pattern ColorAdobeRGB :: e -> e -> e -> Color (AdobeRGB l) e Source #
Constructor for a color in AdobeRGB
color space
Since: 0.1.0
pattern ColorAdobeRGBA :: e -> e -> e -> e -> Color (Alpha (AdobeRGB l)) e Source #
Constructor for a color in AdobeRGB
color space with alpha channel
Since: 0.1.0
data AdobeRGB (l :: Linearity) Source #
A very common AdobeRGB (1998)
color space with the default D65
illuminant
Since: 0.1.0
Instances
Whitepoint D65 that is so commonly used for sRGB and other color spaces defined by
ITU: Rec.601 (525 and 625) and Rec.709 standards. It is slightly different than
D65
that is defined by CIE1931 and
D65
specified in Rec.470.
>>>
whitePoint :: WhitePoint D65 Float
WhitePoint (Chromaticity {chromaticityCIExyY = <CIExyY * D65:( 0.31270000, 0.32900000)>})>>>
whitePointTristimulus :: Color (XYZ D65) Float
<XYZ * D65:( 0.95045596, 1.00000000, 1.08905770)>>>>
colorTemperature :: CCT D65
CCT {unCCT = 6504.0}
Since: 0.1.0
Instances
npmStandard :: RealFloat e => NPM AdobeRGB e Source #
AdobeRGB normalized primary matrix. This is a helper definition, use npm
instead.
>>>
:set -XDataKinds
>>>
import Graphics.Color.Space.RGB.AdobeRGB
>>>
npmStandard :: NPM AdobeRGB Float
[ [ 0.57667000, 0.18556000, 0.18823000 ] , [ 0.29734000, 0.62736000, 0.07529000 ] , [ 0.02703000, 0.07069000, 0.99134000 ] ]
Since: 0.1.0
inpmStandard :: RealFloat e => INPM AdobeRGB e Source #
AdobeRGB inverse normalized primary matrix. This is a helper definition, use inpm
instead.
>>>
:set -XDataKinds
>>>
import Graphics.Color.Space.RGB.AdobeRGB
>>>
inpmStandard :: INPM AdobeRGB Float
[ [ 2.04159000,-0.56501000,-0.34473000 ] , [-0.96924000, 1.87597000, 0.04156000 ] , [ 0.01344000,-0.11836000, 1.01517000 ] ]
Since: 0.1.0
transfer :: Floating a => a -> a Source #
AdobeRGB transfer function "gamma":
\[ \gamma(u) = u^{2.19921875} = u^\frac{563}{256} \]
Since: 0.1.0
itransfer :: Floating a => a -> a Source #
AdobeRGB inverse transfer function "gamma":
\[ \gamma^{-1}(u) = u^\frac{1}{2.19921875} = u^\frac{256}{563} \]
Since: 0.1.0
module Graphics.Color.Space