Copyright | (c) Alexey Kuleshevich 2019-2025 |
---|---|
License | BSD3 |
Maintainer | Alexey Kuleshevich <lehins@yandex.ru> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Graphics.Pixel
Contents
Description
Synopsis
- newtype Pixel cs e where
- Pixel (Color cs e)
- pattern PixelX :: e -> Pixel X e
- pattern PixelRGB :: e -> e -> e -> Pixel RGB e
- pattern PixelHSI :: e -> e -> e -> Pixel HSI e
- pattern PixelHSL :: e -> e -> e -> Pixel HSL e
- pattern PixelHSV :: e -> e -> e -> Pixel HSV e
- pattern PixelCMYK :: e -> e -> e -> e -> Pixel CMYK e
- pattern PixelYCbCr :: e -> e -> e -> Pixel YCbCr e
- pattern PixelXA :: e -> e -> Pixel (Alpha X) e
- pattern PixelRGBA :: e -> e -> e -> e -> Pixel (Alpha RGB) e
- pattern PixelHSIA :: e -> e -> e -> e -> Pixel (Alpha HSI) e
- pattern PixelHSLA :: e -> e -> e -> e -> Pixel (Alpha HSL) e
- pattern PixelHSVA :: e -> e -> e -> e -> Pixel (Alpha HSV) e
- pattern PixelCMYKA :: e -> e -> e -> e -> e -> Pixel (Alpha CMYK) e
- pattern PixelYCbCrA :: e -> e -> e -> e -> Pixel (Alpha YCbCr) e
- liftPixel :: (Color cs e -> Color cs' e') -> Pixel cs e -> Pixel cs' e'
- pixelColor :: Pixel cs e -> Color cs e
- toPixel8 :: ColorModel cs e => Pixel cs e -> Pixel cs Word8
- toPixel16 :: ColorModel cs e => Pixel cs e -> Pixel cs Word16
- toPixel32 :: ColorModel cs e => Pixel cs e -> Pixel cs Word32
- toPixel64 :: ColorModel cs e => Pixel cs e -> Pixel cs Word64
- toPixelF :: ColorModel cs e => Pixel cs e -> Pixel cs Float
- toPixelD :: ColorModel cs e => Pixel cs e -> Pixel cs Double
- module Graphics.Color.Model
- module Graphics.Color.Algebra.Binary
Documentation
Digital imaging is one of the most common places for a color to be used in. The smallest element in any image is a pixel, which is defined by its color.
Since: 0.1.0
Bundled Patterns
pattern PixelX :: e -> Pixel X e | Constructor for a grayscale pixel with single channel. Since: 0.1.0 |
pattern PixelRGB :: e -> e -> e -> Pixel RGB e | Constructor for a pixel with Since: 0.1.0 |
pattern PixelHSI :: e -> e -> e -> Pixel HSI e | Constructor for Pixel with Since: 0.1.0 |
pattern PixelHSL :: e -> e -> e -> Pixel HSL e | Constructor for Pixel with Since: 0.1.0 |
pattern PixelHSV :: e -> e -> e -> Pixel HSV e | Constructor for Pixel with Since: 0.1.0 |
pattern PixelCMYK :: e -> e -> e -> e -> Pixel CMYK e | Constructor for a pixel with Since: 0.1.0 |
pattern PixelYCbCr :: e -> e -> e -> Pixel YCbCr e | Constructor for a pixel with Since: 0.1.0 |
pattern PixelXA :: e -> e -> Pixel (Alpha X) e | Constructor for a grayscale pixel with a transparency channel. Since: 0.1.0 |
pattern PixelRGBA :: e -> e -> e -> e -> Pixel (Alpha RGB) e | Constructor for a pixel with Since: 0.1.0 |
pattern PixelHSIA :: e -> e -> e -> e -> Pixel (Alpha HSI) e | Constructor for a pixel with Since: 0.1.0 |
pattern PixelHSLA :: e -> e -> e -> e -> Pixel (Alpha HSL) e | Constructor for a pixel with Since: 0.1.0 |
pattern PixelHSVA :: e -> e -> e -> e -> Pixel (Alpha HSV) e | Constructor for a pixel with Since: 0.1.0 |
pattern PixelCMYKA :: e -> e -> e -> e -> e -> Pixel (Alpha CMYK) e | Constructor for a pixel with Since: 0.1.0 |
pattern PixelYCbCrA :: e -> e -> e -> e -> Pixel (Alpha YCbCr) e | Constructor for a pixel with Since: 0.1.0 |
Instances
ColorModel cs e => Vector Vector (Pixel cs e) Source # | |
Defined in Graphics.Pixel.Internal Methods basicUnsafeFreeze :: Mutable Vector s (Pixel cs e) -> ST s (Vector (Pixel cs e)) basicUnsafeThaw :: Vector (Pixel cs e) -> ST s (Mutable Vector s (Pixel cs e)) basicLength :: Vector (Pixel cs e) -> Int basicUnsafeSlice :: Int -> Int -> Vector (Pixel cs e) -> Vector (Pixel cs e) basicUnsafeIndexM :: Vector (Pixel cs e) -> Int -> Box (Pixel cs e) basicUnsafeCopy :: Mutable Vector s (Pixel cs e) -> Vector (Pixel cs e) -> ST s () | |
ColorModel cs e => MVector MVector (Pixel cs e) Source # | |
Defined in Graphics.Pixel.Internal Methods basicLength :: MVector s (Pixel cs e) -> Int basicUnsafeSlice :: Int -> Int -> MVector s (Pixel cs e) -> MVector s (Pixel cs e) basicOverlaps :: MVector s (Pixel cs e) -> MVector s (Pixel cs e) -> Bool basicUnsafeNew :: Int -> ST s (MVector s (Pixel cs e)) basicInitialize :: MVector s (Pixel cs e) -> ST s () basicUnsafeReplicate :: Int -> Pixel cs e -> ST s (MVector s (Pixel cs e)) basicUnsafeRead :: MVector s (Pixel cs e) -> Int -> ST s (Pixel cs e) basicUnsafeWrite :: MVector s (Pixel cs e) -> Int -> Pixel cs e -> ST s () basicClear :: MVector s (Pixel cs e) -> ST s () basicSet :: MVector s (Pixel cs e) -> Pixel cs e -> ST s () basicUnsafeCopy :: MVector s (Pixel cs e) -> MVector s (Pixel cs e) -> ST s () basicUnsafeMove :: MVector s (Pixel cs e) -> MVector s (Pixel cs e) -> ST s () basicUnsafeGrow :: MVector s (Pixel cs e) -> Int -> ST s (MVector s (Pixel cs e)) | |
Foldable (Color cs) => Foldable (Pixel cs) Source # | |
Defined in Graphics.Pixel.Internal Methods fold :: Monoid m => Pixel cs m -> m # foldMap :: Monoid m => (a -> m) -> Pixel cs a -> m # foldMap' :: Monoid m => (a -> m) -> Pixel cs a -> m # foldr :: (a -> b -> b) -> b -> Pixel cs a -> b # foldr' :: (a -> b -> b) -> b -> Pixel cs a -> b # foldl :: (b -> a -> b) -> b -> Pixel cs a -> b # foldl' :: (b -> a -> b) -> b -> Pixel cs a -> b # foldr1 :: (a -> a -> a) -> Pixel cs a -> a # foldl1 :: (a -> a -> a) -> Pixel cs a -> a # elem :: Eq a => a -> Pixel cs a -> Bool # maximum :: Ord a => Pixel cs a -> a # minimum :: Ord a => Pixel cs a -> a # | |
Traversable (Color cs) => Traversable (Pixel cs) Source # | |
Applicative (Color cs) => Applicative (Pixel cs) Source # | |
Functor (Color cs) => Functor (Pixel cs) Source # | |
Storable (Color cs e) => Storable (Pixel cs e) Source # | |
Defined in Graphics.Pixel.Internal Methods alignment :: Pixel cs e -> Int # peekElemOff :: Ptr (Pixel cs e) -> Int -> IO (Pixel cs e) # pokeElemOff :: Ptr (Pixel cs e) -> Int -> Pixel cs e -> IO () # peekByteOff :: Ptr b -> Int -> IO (Pixel cs e) # pokeByteOff :: Ptr b -> Int -> Pixel cs e -> IO () # | |
Bounded (Color cs e) => Bounded (Pixel cs e) Source # | |
Floating (Color cs e) => Floating (Pixel cs e) Source # | |
Defined in Graphics.Pixel.Internal Methods exp :: Pixel cs e -> Pixel cs e # log :: Pixel cs e -> Pixel cs e # sqrt :: Pixel cs e -> Pixel cs e # (**) :: Pixel cs e -> Pixel cs e -> Pixel cs e # logBase :: Pixel cs e -> Pixel cs e -> Pixel cs e # sin :: Pixel cs e -> Pixel cs e # cos :: Pixel cs e -> Pixel cs e # tan :: Pixel cs e -> Pixel cs e # asin :: Pixel cs e -> Pixel cs e # acos :: Pixel cs e -> Pixel cs e # atan :: Pixel cs e -> Pixel cs e # sinh :: Pixel cs e -> Pixel cs e # cosh :: Pixel cs e -> Pixel cs e # tanh :: Pixel cs e -> Pixel cs e # asinh :: Pixel cs e -> Pixel cs e # acosh :: Pixel cs e -> Pixel cs e # atanh :: Pixel cs e -> Pixel cs e # log1p :: Pixel cs e -> Pixel cs e # expm1 :: Pixel cs e -> Pixel cs e # | |
Num (Color cs e) => Num (Pixel cs e) Source # | |
Defined in Graphics.Pixel.Internal | |
Fractional (Color cs e) => Fractional (Pixel cs e) Source # | |
Show (Color cs e) => Show (Pixel cs e) Source # | |
Default (Color cs e) => Default (Pixel cs e) Source # | |
Defined in Graphics.Pixel.Internal | |
NFData (Color cs e) => NFData (Pixel cs e) Source # | |
Defined in Graphics.Pixel.Internal | |
Eq (Color cs e) => Eq (Pixel cs e) Source # | |
Ord (Color cs e) => Ord (Pixel cs e) Source # | |
Defined in Graphics.Pixel.Internal | |
ColorModel cs e => Unbox (Pixel cs e) Source # | Unboxing of a |
Defined in Graphics.Pixel.Internal | |
newtype MVector s (Pixel cs e) Source # | |
Defined in Graphics.Pixel.Internal | |
newtype Vector (Pixel cs e) Source # | |
Defined in Graphics.Pixel.Internal |
Elevation
toPixel8 :: ColorModel cs e => Pixel cs e -> Pixel cs Word8 Source #
Convert all channels of a pixel to 8bits each, while doing appropriate scaling. See
Elevator
.
Since: 0.1.0
toPixel16 :: ColorModel cs e => Pixel cs e -> Pixel cs Word16 Source #
Convert all channels of a pixel to 16bits each, while appropriate scaling. See
Elevator
.
Since: 0.1.0
toPixel32 :: ColorModel cs e => Pixel cs e -> Pixel cs Word32 Source #
Convert all channels of a pixel to 32bits each, while doing appropriate scaling. See
Elevator
.
Since: 0.1.0
toPixel64 :: ColorModel cs e => Pixel cs e -> Pixel cs Word64 Source #
Convert all channels of a pixel to 64bits each, while doing appropriate scaling. See
Elevator
.
Since: 0.1.0
toPixelF :: ColorModel cs e => Pixel cs e -> Pixel cs Float Source #
Convert all channels of a pixel to 32bit floating point numers each, while doing
appropriate scaling. See Elevator
.
Since: 0.1.0
toPixelD :: ColorModel cs e => Pixel cs e -> Pixel cs Double Source #
Convert all channels of a pixel to 64bit floating point numers each, while doing
appropriate scaling. See Elevator
.
Since: 0.1.0
module Graphics.Color.Model