| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
HSLuv
Description
Haskell port of the perceptually-uniform HSLuv colorspace model (http:/www.hsluv.org).
Synopsis
- newtype RGBRed = RGBRed Double
- newtype RGBGreen = RGBGreen Double
- newtype RGBBlue = RGBBlue Double
- data RGB = RGB RGBRed RGBGreen RGBBlue
- newtype XYZX = XYZX Double
- newtype XYZY = XYZY Double
- newtype XYZZ = XYZZ Double
- data XYZ = XYZ XYZX XYZY XYZZ
- newtype LUVLightness = LUVLightness Double
- newtype LUVU = LUVU Double
- newtype LUVV = LUVV Double
- data LUV = LUV LUVLightness LUVU LUVV
- newtype LCHLightness = LCHLightness Double
- newtype LCHChroma = LCHChroma Double
- newtype LCHHue = LCHHue Double
- data LCH = LCH LCHLightness LCHChroma LCHHue
- newtype HSLuvHue = HSLuvHue Double
- newtype HSLuvSaturation = HSLuvSaturation Double
- newtype HSLuvLightness = HSLuvLightness Double
- data HSLuv = HSLuv HSLuvHue HSLuvSaturation HSLuvLightness
- newtype HPLuvHue = HPLuvHue Double
- newtype HPLuvPastel = HPLuvPastel Double
- newtype HPLuvLightness = HPLuvLightness Double
- data HPLuv = HPLuv HPLuvHue HPLuvPastel HPLuvLightness
- getBounds :: HSLuvLightness -> [Line]
- maxSafeChromaForL :: HSLuvLightness -> LCHChroma
- maxChromaForLH :: HSLuvLightness -> HSLuvHue -> LCHChroma
- xyzToRgb :: XYZ -> RGB
- rgbToXyz :: RGB -> XYZ
- yToL :: XYZY -> LUVLightness
- lToY :: LUVLightness -> XYZY
- xyzToLuv :: XYZ -> LUV
- luvToXyz :: LUV -> XYZ
- luvToLch :: LUV -> LCH
- lchToLuv :: LCH -> LUV
- hsluvToLchWith :: (HSLuvLightness -> HSLuvHue -> LCHChroma) -> HSLuv -> LCH
- lchToHsluvWith :: (HSLuvLightness -> HSLuvHue -> LCHChroma) -> LCH -> HSLuv
- hsluvToLch :: HSLuv -> LCH
- lchToHsluv :: LCH -> HSLuv
- hpluvToLch :: HPLuv -> LCH
- lchToHpluv :: LCH -> HPLuv
- rgbToHex :: RGB -> String
- hexToRgb :: String -> Maybe RGB
- lchToRgb :: LCH -> RGB
- rgbToLch :: RGB -> LCH
- hsluvToRgb :: HSLuv -> RGB
- rgbToHsluv :: RGB -> HSLuv
- hpluvToRgb :: HPLuv -> RGB
- rgbToHpluv :: RGB -> HPLuv
- hsluvToHex :: HSLuv -> String
- hpluvToHex :: HPLuv -> String
- hexToHsluv :: String -> Maybe HSLuv
- hexToHpluv :: String -> Maybe HPLuv
- hsluvToColour :: HSLuv -> Colour Double
- colourToHsluv :: Colour Double -> HSLuv
- hpluvToColour :: HPLuv -> Colour Double
- colourToHpluv :: Colour Double -> HPLuv
Documentation
Value in [0, 1].
Value in [0, 1].
Value in [0, 1].
Values in [0, 1].
Value in [0, 1].
Value in [0, 1].
Value in [0, 1].
Values in [0, 1].
newtype LUVLightness Source #
Constructors
| LUVLightness Double |
Instances
| Show LUVLightness Source # | |
Defined in HSLuv Methods showsPrec :: Int -> LUVLightness -> ShowS # show :: LUVLightness -> String # showList :: [LUVLightness] -> ShowS # | |
| Eq LUVLightness Source # | |
Defined in HSLuv | |
Constructors
| LUV LUVLightness LUVU LUVV |
newtype LCHLightness Source #
Constructors
| LCHLightness Double |
Instances
| Show LCHLightness Source # | |
Defined in HSLuv Methods showsPrec :: Int -> LCHLightness -> ShowS # show :: LCHLightness -> String # showList :: [LCHLightness] -> ShowS # | |
| Eq LCHLightness Source # | |
Defined in HSLuv | |
Constructors
| LCH LCHLightness LCHChroma LCHHue |
Value in [0, 360].
newtype HSLuvSaturation Source #
Value in [0, 100].
Constructors
| HSLuvSaturation Double |
Instances
| Show HSLuvSaturation Source # | |
Defined in HSLuv Methods showsPrec :: Int -> HSLuvSaturation -> ShowS # show :: HSLuvSaturation -> String # showList :: [HSLuvSaturation] -> ShowS # | |
| Eq HSLuvSaturation Source # | |
Defined in HSLuv Methods (==) :: HSLuvSaturation -> HSLuvSaturation -> Bool # (/=) :: HSLuvSaturation -> HSLuvSaturation -> Bool # | |
newtype HSLuvLightness Source #
Value in [0, 100].
Constructors
| HSLuvLightness Double |
Instances
| Show HSLuvLightness Source # | |
Defined in HSLuv Methods showsPrec :: Int -> HSLuvLightness -> ShowS # show :: HSLuvLightness -> String # showList :: [HSLuvLightness] -> ShowS # | |
| Eq HSLuvLightness Source # | |
Defined in HSLuv Methods (==) :: HSLuvLightness -> HSLuvLightness -> Bool # (/=) :: HSLuvLightness -> HSLuvLightness -> Bool # | |
Values in [0, 360]; [0, 100]; [0, 100].
Constructors
| HSLuv HSLuvHue HSLuvSaturation HSLuvLightness |
Value in [0, 360].
newtype HPLuvPastel Source #
Value in [0, 100].
Constructors
| HPLuvPastel Double |
Instances
| Show HPLuvPastel Source # | |
Defined in HSLuv Methods showsPrec :: Int -> HPLuvPastel -> ShowS # show :: HPLuvPastel -> String # showList :: [HPLuvPastel] -> ShowS # | |
| Eq HPLuvPastel Source # | |
Defined in HSLuv | |
newtype HPLuvLightness Source #
Value in [0, 100].
Constructors
| HPLuvLightness Double |
Instances
| Show HPLuvLightness Source # | |
Defined in HSLuv Methods showsPrec :: Int -> HPLuvLightness -> ShowS # show :: HPLuvLightness -> String # showList :: [HPLuvLightness] -> ShowS # | |
| Eq HPLuvLightness Source # | |
Defined in HSLuv Methods (==) :: HPLuvLightness -> HPLuvLightness -> Bool # (/=) :: HPLuvLightness -> HPLuvLightness -> Bool # | |
Values in [0, 360]; [0, 100]; [0, 100].
Constructors
| HPLuv HPLuvHue HPLuvPastel HPLuvLightness |
getBounds :: HSLuvLightness -> [Line] Source #
For a given lightness, return a list of 6 lines in slope-intercept form that represent the bounds in CIELUV, stepping over which will push a value out of the RGB gamut.
maxSafeChromaForL :: HSLuvLightness -> LCHChroma Source #
For given lightness, returns the maximum chroma. Keeping the chroma value below this number will ensure that for any hue, the color is within the RGB gamut.
maxChromaForLH :: HSLuvLightness -> HSLuvHue -> LCHChroma Source #
yToL :: XYZY -> LUVLightness Source #
lToY :: LUVLightness -> XYZY Source #
hsluvToLchWith :: (HSLuvLightness -> HSLuvHue -> LCHChroma) -> HSLuv -> LCH Source #
lchToHsluvWith :: (HSLuvLightness -> HSLuvHue -> LCHChroma) -> LCH -> HSLuv Source #
hsluvToLch :: HSLuv -> LCH Source #
lchToHsluv :: LCH -> HSLuv Source #
hpluvToLch :: HPLuv -> LCH Source #
lchToHpluv :: LCH -> HPLuv Source #
hsluvToRgb :: HSLuv -> RGB Source #
rgbToHsluv :: RGB -> HSLuv Source #
hpluvToRgb :: HPLuv -> RGB Source #
rgbToHpluv :: RGB -> HPLuv Source #
hsluvToHex :: HSLuv -> String Source #
hpluvToHex :: HPLuv -> String Source #