Copyright | (c) Alexey Kuleshevich 2018-2019 |
---|---|
License | BSD3 |
Maintainer | Alexey Kuleshevich <lehins@yandex.ru> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- data family Pixel cs e :: *
- class (Eq cs, Enum cs, Show cs, Bounded cs, Typeable cs, Functor (Pixel cs), Applicative (Pixel cs), Foldable (Pixel cs), Eq (Pixel cs e), Unbox (Components cs e), Storable (Pixel cs e), Elevator e) => ColorSpace cs e where
- type Components cs e
- toComponents :: Pixel cs e -> Components cs e
- fromComponents :: Components cs e -> Pixel cs e
- promote :: e -> Pixel cs e
- getPxC :: Pixel cs e -> cs -> e
- setPxC :: Pixel cs e -> cs -> e -> Pixel cs e
- mapPxC :: (cs -> e -> e) -> Pixel cs e -> Pixel cs e
- foldlPx2 :: (b -> e -> e -> b) -> b -> Pixel cs e -> Pixel cs e -> b
- liftPx :: (e -> e) -> Pixel cs e -> Pixel cs e
- liftPx2 :: (e -> e -> e) -> Pixel cs e -> Pixel cs e -> Pixel cs e
- foldrPx :: (e -> b -> b) -> b -> Pixel cs e -> b
- foldlPx :: (b -> e -> b) -> b -> Pixel cs e -> b
- foldl1Px :: (e -> e -> e) -> Pixel cs e -> e
- class (ColorSpace (Opaque cs) e, ColorSpace cs e) => AlphaSpace cs e where
- toPixelY :: ToY cs e => Pixel cs e -> Pixel Y Double
- toPixelYA :: ToYA cs e => Pixel cs e -> Pixel YA Double
- toPixelRGB :: ToRGB cs e => Pixel cs e -> Pixel RGB Double
- toPixelRGBA :: ToRGBA cs e => Pixel cs e -> Pixel RGBA Double
- toPixelHSI :: ToHSI cs e => Pixel cs e -> Pixel HSI Double
- toPixelHSIA :: ToHSIA cs e => Pixel cs e -> Pixel HSIA Double
- toPixelCMYK :: ToCMYK cs e => Pixel cs e -> Pixel CMYK Double
- toPixelCMYKA :: ToCMYKA cs e => Pixel cs e -> Pixel CMYKA Double
- toPixelYCbCr :: ToYCbCr cs e => Pixel cs e -> Pixel YCbCr Double
- toPixelYCbCrA :: ToYCbCrA cs e => Pixel cs e -> Pixel YCbCrA Double
- toPixelBinary :: ColorSpace cs e => Pixel cs e -> Pixel X Bit
- fromPixelBinary :: Pixel X Bit -> Pixel Y Word8
- module Graphics.ColorSpace.Binary
- module Graphics.ColorSpace.Complex
- toPixelsX :: ColorSpace cs e => Pixel cs e -> [Pixel X e]
- fromPixelsX :: ColorSpace cs e => [(cs, Pixel X e)] -> Pixel cs e
- eqTolPx :: (ColorSpace cs e, Ord e) => e -> Pixel cs e -> Pixel cs e -> Bool
- data Y = LumaY
- data YA
- class ColorSpace cs e => ToY cs e
- class ToY cs e => ToYA cs e
- data RGB
- data RGBA
- class ColorSpace cs e => ToRGB cs e
- class ToRGB cs e => ToRGBA cs e
- data HSI
- data HSIA
- class ColorSpace cs e => ToHSI cs e
- class ToHSI cs e => ToHSIA cs e
- data CMYK
- data CMYKA
- class ColorSpace cs e => ToCMYK cs e
- class ToCMYK cs e => ToCMYKA cs e
- data YCbCr
- data YCbCrA
- class ColorSpace cs e => ToYCbCr cs e
- class ToYCbCr cs e => ToYCbCrA cs e
- data X = X
- class (Eq e, Num e, Typeable e, Unbox e, Storable e) => Elevator e where
- toWord8 :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Word8
- toWord16 :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Word16
- toWord32 :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Word32
- toWord64 :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Word64
- toFloat :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Float
- toDouble :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Double
- fromDouble :: (Functor (Pixel cs), Elevator e) => Pixel cs Double -> Pixel cs e
- data Word8
- data Word16
- data Word32
- data Word64
Pixels
Family of Pixels
Pixel is a type family for all available color spaces. Below is the listed of all class instances, that pixels are installed in, as well as all pixel constructors.
>>>
:t (PixelY 0) -- Black pixel in Luma
(PixelY 0) :: Num e => Pixel Y e>>>
PixelRGB 255 0 0 :: Pixel RGB Word8 -- Red pixel in RGB
<RGB:(255|0|0)>>>>
PixelRGB 1 0 0 :: Pixel RGB Double -- Same red pixel in RGB with Double precision.
<RGB:(1.0|0.0|0.0)>>>>
(PixelRGB 255 0 0 :: Pixel RGB Word8) == (toWord8 <$> (PixelRGB 1 0 0 :: Pixel RGB Double))
True
data family Pixel cs e :: * Source #
A Pixel family with a color space and a precision of elements.
Instances
class (Eq cs, Enum cs, Show cs, Bounded cs, Typeable cs, Functor (Pixel cs), Applicative (Pixel cs), Foldable (Pixel cs), Eq (Pixel cs e), Unbox (Components cs e), Storable (Pixel cs e), Elevator e) => ColorSpace cs e where Source #
type Components cs e Source #
toComponents :: Pixel cs e -> Components cs e Source #
Convert a Pixel to a representation suitable for storage as an unboxed element, usually a tuple of channels.
fromComponents :: Components cs e -> Pixel cs e Source #
Convert from an elemnt representation back to a Pixel.
promote :: e -> Pixel cs e Source #
Deprecated: Use pure
from Applicative
instead
Construt a Pixel by replicating the same value across all of the components.
getPxC :: Pixel cs e -> cs -> e Source #
Retrieve Pixel's component value
setPxC :: Pixel cs e -> cs -> e -> Pixel cs e Source #
Set Pixel's component value
mapPxC :: (cs -> e -> e) -> Pixel cs e -> Pixel cs e Source #
Map a channel aware function over all Pixel's components.
foldlPx2 :: (b -> e -> e -> b) -> b -> Pixel cs e -> Pixel cs e -> b Source #
Left fold on two pixels a the same time. If accumulator is nutrual to the folding funciton
then it's equivalent to foldlPx2 f acc px1 px2 == foldl' acc (liftA2 (f acc) px1 px2)
liftPx :: (e -> e) -> Pixel cs e -> Pixel cs e Source #
liftPx2 :: (e -> e -> e) -> Pixel cs e -> Pixel cs e -> Pixel cs e Source #
Deprecated: Use liftA2
from Applicative
instead
Zip two Pixels with a function.
foldrPx :: (e -> b -> b) -> b -> Pixel cs e -> b Source #
Instances
class (ColorSpace (Opaque cs) e, ColorSpace cs e) => AlphaSpace cs e where Source #
A color space that supports transparency.
getAlpha :: Pixel cs e -> e Source #
Get an alpha channel of a transparant pixel.
addAlpha :: e -> Pixel (Opaque cs) e -> Pixel cs e Source #
Add an alpha channel to an opaque pixel.
addAlpha 0 (PixelHSI 1 2 3) == PixelHSIA 1 2 3 0
dropAlpha :: Pixel cs e -> Pixel (Opaque cs) e Source #
Convert a transparent pixel to an opaque one by dropping the alpha channel.
dropAlpha (PixelRGBA 1 2 3 4) == PixelRGB 1 2 3
Instances
Elevator e => AlphaSpace HSIA e Source # | |
Elevator e => AlphaSpace CMYKA e Source # | |
Elevator e => AlphaSpace RGBA e Source # | |
Elevator e => AlphaSpace YA e Source # | |
Elevator e => AlphaSpace YCbCrA e Source # | |
Luma (gray scale)
Conversion to Luma from other color spaces.
toPixelYA :: ToYA cs e => Pixel cs e -> Pixel YA Double Source #
Convert a pixel to Luma pixel with Alpha.
RGB
Conversion to RGB from other color spaces.
HSI
Conversion to HSI from other color spaces.
CMYK
Conversion to CMYK from other color spaces.
YCbCr
Conversion to YCbCr from other color spaces.
toPixelYCbCrA :: ToYCbCrA cs e => Pixel cs e -> Pixel YCbCrA Double Source #
Convert to an YCbCrA
pixel.
Binary
This is a Binary colorspace, pixel's of which can be created using these constructors:
on
- Represents value
1
orTrue
. It's a foreground pixel and is displayed in black. off
- Represents value
0
orFalse
. It's a background pixel and is displayed in white.
Note, that values are inverted before writing to or reading from file, since
grayscale images represent black as a 0
value and white as 1
on a
[0,1]
scale.
Binary pixels also behave as binary numbers with a size of 1-bit, for instance:
>>>
on + on -- equivalent to: 1 .|. 1
<Binary:(1)>>>>
(on + on) * off -- equivalent to: (1 .|. 1) .&. 0
<Binary:(0)>>>>
(on + on) - on
<Binary:(0)>
toPixelBinary :: ColorSpace cs e => Pixel cs e -> Pixel X Bit Source #
Convert to a Binary
pixel.
module Graphics.ColorSpace.Binary
Complex
module Graphics.ColorSpace.Complex
X
toPixelsX :: ColorSpace cs e => Pixel cs e -> [Pixel X e] Source #
Separate a Pixel into a list of components with X
pixels containing every
component from the pixel.
>>>
toPixelsX (PixelRGB 4 5 6)
[<X:(4)>,<X:(5)>,<X:(6)>]
fromPixelsX :: ColorSpace cs e => [(cs, Pixel X e)] -> Pixel cs e Source #
Combine a list of X
pixels into a Pixel with a specified channel
order. Not the most efficient way to construct a pixel, but might prove
useful to someone.
>>>
fromPixelsX [(RedRGB, 3), (BlueRGB, 5), (GreenRGB, 4)]
<RGB:(3.0|4.0|5.0)>>>>
fromPixelsX $ zip (enumFrom RedRGB) (toPixelsX $ PixelRGB 4 5 6)
<RGB:(4.0|5.0|6.0)>
ColorSpace
Operations on Pixels
Luma
Luma or brightness, which is usually denoted as Y'
.
Instances
Luma with Alpha channel.
Instances
class ColorSpace cs e => ToY cs e Source #
Conversion to Luma color space.
Instances
Elevator e => ToY HSIA e Source # | |
Elevator e => ToY HSI e Source # | |
Elevator e => ToY CMYKA e Source # | |
Elevator e => ToY CMYK e Source # | |
Elevator e => ToY RGBA e Source # | |
Elevator e => ToY RGB e Source # | Computes Luma: |
Elevator e => ToY X e Source # | |
Elevator e => ToY YA e Source # | |
Elevator e => ToY Y e Source # | |
Elevator e => ToY YCbCrA e Source # | |
Elevator e => ToY YCbCr e Source # | |
class ToY cs e => ToYA cs e Source #
Conversion to Luma from another color space.
Instances
Elevator e => ToYA HSIA e Source # | |
ToY HSI e => ToYA HSI e Source # | |
Elevator e => ToYA CMYKA e Source # | |
ToY CMYK e => ToYA CMYK e Source # | |
Elevator e => ToYA RGBA e Source # | |
ToY RGB e => ToYA RGB e Source # | |
ToYA X Bit Source # | |
Elevator e => ToYA YA e Source # | |
ToY Y e => ToYA Y e Source # | |
Elevator e => ToYA YCbCrA e Source # | |
ToY YCbCr e => ToYA YCbCr e Source # | |
RGB
Red, Green and Blue color space.
Instances
Red, Green and Blue color space with Alpha channel.
Instances
class ColorSpace cs e => ToRGB cs e Source #
Conversion to RGB
color space.
Instances
Elevator e => ToRGB HSIA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGB HSI e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGB CMYKA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGB CMYK e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGB RGBA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGB RGB e Source # | |
Defined in Graphics.ColorSpace | |
ToRGB X Bit Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGB YA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGB Y e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGB YCbCrA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGB YCbCr e Source # | |
Defined in Graphics.ColorSpace |
class ToRGB cs e => ToRGBA cs e Source #
Conversion to RGBA
from another color space with Alpha channel.
Instances
Elevator e => ToRGBA HSIA e Source # | |
Defined in Graphics.ColorSpace | |
ToRGB HSI e => ToRGBA HSI e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGBA CMYKA e Source # | |
Defined in Graphics.ColorSpace | |
ToRGB CMYK e => ToRGBA CMYK e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGBA RGBA e Source # | |
Defined in Graphics.ColorSpace | |
ToRGB RGB e => ToRGBA RGB e Source # | |
Defined in Graphics.ColorSpace | |
ToRGBA X Bit Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGBA YA e Source # | |
Defined in Graphics.ColorSpace | |
ToRGB Y e => ToRGBA Y e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToRGBA YCbCrA e Source # | |
Defined in Graphics.ColorSpace | |
ToRGB YCbCr e => ToRGBA YCbCr e Source # | |
Defined in Graphics.ColorSpace |
HSI
Hue, Saturation and Intensity color space.
Instances
Hue, Saturation and Intensity color space with Alpha channel.
Instances
class ColorSpace cs e => ToHSI cs e Source #
Conversion to HSI
color space.
Instances
Elevator e => ToHSI HSIA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSI HSI e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSI CMYKA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSI CMYK e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSI RGBA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSI RGB e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSI YA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSI Y e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSI YCbCrA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSI YCbCr e Source # | |
Defined in Graphics.ColorSpace |
class ToHSI cs e => ToHSIA cs e Source #
Conversion to HSIA
from another color space with Alpha channel.
Instances
Elevator e => ToHSIA HSIA e Source # | |
Defined in Graphics.ColorSpace | |
ToHSI HSI e => ToHSIA HSI e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSIA CMYKA e Source # | |
Defined in Graphics.ColorSpace | |
ToHSI CMYK e => ToHSIA CMYK e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSIA RGBA e Source # | |
Defined in Graphics.ColorSpace | |
ToHSI RGB e => ToHSIA RGB e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSIA YA e Source # | |
Defined in Graphics.ColorSpace | |
ToHSI Y e => ToHSIA Y e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToHSIA YCbCrA e Source # | |
Defined in Graphics.ColorSpace | |
ToHSI YCbCr e => ToHSIA YCbCr e Source # | |
Defined in Graphics.ColorSpace |
CMYK
Cyan, Magenta, Yellow and Black color space.
Instances
Cyan, Magenta, Yellow and Black color space with Alpha channel.
CyanCMYKA | Cyan |
MagCMYKA | Magenta |
YelCMYKA | Yellow |
KeyCMYKA | Key (Black) |
AlphaCMYKA | Alpha |
Instances
class ColorSpace cs e => ToCMYK cs e Source #
Conversion to CMYK
color space.
Instances
Elevator e => ToCMYK HSIA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYK HSI e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYK CMYKA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYK CMYK e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYK RGBA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYK RGB e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYK YA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYK Y e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYK YCbCrA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYK YCbCr e Source # | |
Defined in Graphics.ColorSpace |
class ToCMYK cs e => ToCMYKA cs e Source #
Conversion to CMYKA
.
Instances
Elevator e => ToCMYKA HSIA e Source # | |
Defined in Graphics.ColorSpace | |
ToCMYK HSI e => ToCMYKA HSI e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYKA CMYKA e Source # | |
Defined in Graphics.ColorSpace | |
ToCMYK CMYK e => ToCMYKA CMYK e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYKA RGBA e Source # | |
Defined in Graphics.ColorSpace | |
ToCMYK RGB e => ToCMYKA RGB e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYKA YA e Source # | |
Defined in Graphics.ColorSpace | |
ToCMYK Y e => ToCMYKA Y e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToCMYKA YCbCrA e Source # | |
Defined in Graphics.ColorSpace | |
ToCMYK YCbCr e => ToCMYKA YCbCr e Source # | |
Defined in Graphics.ColorSpace |
YCbCr
Color space is used to encode RGB information and is used in JPEG compression.
LumaYCbCr | Luma component (commonly denoted as Y') |
CBlueYCbCr | Blue difference chroma component |
CRedYCbCr | Red difference chroma component |
Instances
YCbCr color space with Alpha channel.
LumaYCbCrA | Luma component (commonly denoted as Y') |
CBlueYCbCrA | Blue difference chroma component |
CRedYCbCrA | Red difference chroma component |
AlphaYCbCrA | Alpha component. |
Instances
class ColorSpace cs e => ToYCbCr cs e Source #
Conversion to YCbCr
color space.
Instances
Elevator e => ToYCbCr HSIA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCr HSI e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCr CMYKA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCr CMYK e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCr RGBA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCr RGB e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCr YA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCr Y e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCr YCbCrA e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCr YCbCr e Source # | |
Defined in Graphics.ColorSpace |
class ToYCbCr cs e => ToYCbCrA cs e Source #
Conversion to YCbCrA
from another color space with Alpha channel.
Instances
Elevator e => ToYCbCrA HSIA e Source # | |
Defined in Graphics.ColorSpace | |
ToYCbCr HSI e => ToYCbCrA HSI e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCrA CMYKA e Source # | |
Defined in Graphics.ColorSpace | |
ToYCbCr CMYK e => ToYCbCrA CMYK e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCrA RGBA e Source # | |
Defined in Graphics.ColorSpace | |
ToYCbCr RGB e => ToYCbCrA RGB e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCrA YA e Source # | |
Defined in Graphics.ColorSpace | |
ToYCbCr Y e => ToYCbCrA Y e Source # | |
Defined in Graphics.ColorSpace | |
Elevator e => ToYCbCrA YCbCrA e Source # | |
Defined in Graphics.ColorSpace | |
ToYCbCr YCbCr e => ToYCbCrA YCbCr e Source # | |
Defined in Graphics.ColorSpace |
X
This is a single channel colorspace, that is designed to separate Gray
level values from other types of colorspace, hence it is not convertible to
or from, but rather is here to allow operation on arbirtary single channel
images. If you are looking for a true grayscale colorspace
Y
should be used instead.
Instances
Precision
Pixel
class (Eq e, Num e, Typeable e, Unbox e, Storable e) => Elevator e where Source #
A class with a set of convenient functions that allow for changing precision of channels within pixels, while scaling the values to keep them in an appropriate range.
>>>
let rgb = PixelRGB 0.0 0.5 1.0 :: Pixel RGB Double
>>>
eToWord8 <$> rgb
<RGB:(0|128|255)>>>>
eToWord16 <$> rgb
<RGB:(0|32768|65535)>
eToWord8 :: e -> Word8 Source #
Values are scaled to [0, 255]
range.
eToWord16 :: e -> Word16 Source #
Values are scaled to [0, 65535]
range.
eToWord32 :: e -> Word32 Source #
Values are scaled to [0, 4294967295]
range.
eToWord64 :: e -> Word64 Source #
Values are scaled to [0, 18446744073709551615]
range.
eToFloat :: e -> Float Source #
Values are scaled to [0.0, 1.0]
range.
eToDouble :: e -> Double Source #
Values are scaled to [0.0, 1.0]
range.
eFromDouble :: Double -> e Source #
Values are scaled from [0.0, 1.0]
range.
Instances
Elevator Double Source # | Values between |
Defined in Graphics.ColorSpace.Elevator | |
Elevator Float Source # | Values between |
Elevator Int Source # | Values between |
Elevator Int8 Source # | Values between |
Elevator Int16 Source # | Values between |
Elevator Int32 Source # | Values between |
Elevator Int64 Source # | Values between |
Elevator Word Source # | Values between |
Elevator Word8 Source # | Values between |
Elevator Word16 Source # | Values between |
Defined in Graphics.ColorSpace.Elevator | |
Elevator Word32 Source # | Values between |
Defined in Graphics.ColorSpace.Elevator | |
Elevator Word64 Source # | Values between |
Defined in Graphics.ColorSpace.Elevator | |
Elevator Bit Source # | Values: |
(Num e, Elevator e, RealFloat e) => Elevator (Complex e) Source # | Discards imaginary part and changes precision of real part. |
Defined in Graphics.ColorSpace.Elevator |
toWord8 :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Word8 Source #
Change pixel precision to Word8
.
toWord16 :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Word16 Source #
Change pixel precision to Word16
.
toWord32 :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Word32 Source #
Change pixel precision to Word32
.
toWord64 :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Word64 Source #
Change pixel precision to Word64
.
toFloat :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Float Source #
Change pixel precision to Float
.
toDouble :: (Functor (Pixel cs), Elevator e) => Pixel cs e -> Pixel cs Double Source #
Change pixel precision to Double
.
fromDouble :: (Functor (Pixel cs), Elevator e) => Pixel cs Double -> Pixel cs e Source #
Change pixel precision from Double
.
Componenet
8-bit unsigned integer type
Instances
16-bit unsigned integer type
Instances
32-bit unsigned integer type
Instances
64-bit unsigned integer type