Safe Haskell | None |
---|---|
Language | Haskell2010 |
Codec.Picture.Types
Description
Module provides basic types for image manipulation in the library.
Synopsis
- data Image a = Image {
- imageWidth :: !Int
- imageHeight :: !Int
- imageData :: Vector (PixelBaseComponent a)
- data MutableImage s a = MutableImage {
- mutableImageWidth :: !Int
- mutableImageHeight :: !Int
- mutableImageData :: STVector s (PixelBaseComponent a)
- data DynamicImage
- = ImageY8 (Image Pixel8)
- | ImageY16 (Image Pixel16)
- | ImageY32 (Image Pixel32)
- | ImageYF (Image PixelF)
- | ImageYA8 (Image PixelYA8)
- | ImageYA16 (Image PixelYA16)
- | ImageRGB8 (Image PixelRGB8)
- | ImageRGB16 (Image PixelRGB16)
- | ImageRGBF (Image PixelRGBF)
- | ImageRGBA8 (Image PixelRGBA8)
- | ImageRGBA16 (Image PixelRGBA16)
- | ImageYCbCr8 (Image PixelYCbCr8)
- | ImageCMYK8 (Image PixelCMYK8)
- | ImageCMYK16 (Image PixelCMYK16)
- data PalettedImage
- type Palette = Image PixelRGB8
- data Palette' px = Palette' {
- _paletteSize :: !Int
- _paletteData :: !(Vector (PixelBaseComponent px))
- createMutableImage :: (Pixel px, PrimMonad m) => Int -> Int -> px -> m (MutableImage (PrimState m) px)
- newMutableImage :: (Pixel px, PrimMonad m) => Int -> Int -> m (MutableImage (PrimState m) px)
- freezeImage :: (Storable (PixelBaseComponent px), PrimMonad m) => MutableImage (PrimState m) px -> m (Image px)
- unsafeFreezeImage :: (Storable (PixelBaseComponent a), PrimMonad m) => MutableImage (PrimState m) a -> m (Image a)
- thawImage :: (Storable (PixelBaseComponent px), PrimMonad m) => Image px -> m (MutableImage (PrimState m) px)
- unsafeThawImage :: (Storable (PixelBaseComponent px), PrimMonad m) => Image px -> m (MutableImage (PrimState m) px)
- type Traversal s t a b = forall (f :: Type -> Type). Applicative f => (a -> f b) -> s -> f t
- imagePixels :: (Pixel pxa, Pixel pxb) => Traversal (Image pxa) (Image pxb) pxa pxb
- imageIPixels :: (Pixel pxa, Pixel pxb) => Traversal (Image pxa) (Image pxb) (Int, Int, pxa) pxb
- type Pixel8 = Word8
- type Pixel16 = Word16
- type Pixel32 = Word32
- type PixelF = Float
- data PixelYA8 = PixelYA8 !Pixel8 !Pixel8
- data PixelYA16 = PixelYA16 !Pixel16 !Pixel16
- data PixelRGB8 = PixelRGB8 !Pixel8 !Pixel8 !Pixel8
- data PixelRGB16 = PixelRGB16 !Pixel16 !Pixel16 !Pixel16
- data PixelRGBF = PixelRGBF !PixelF !PixelF !PixelF
- data PixelRGBA8 = PixelRGBA8 !Pixel8 !Pixel8 !Pixel8 !Pixel8
- data PixelRGBA16 = PixelRGBA16 !Pixel16 !Pixel16 !Pixel16 !Pixel16
- data PixelCMYK8 = PixelCMYK8 !Pixel8 !Pixel8 !Pixel8 !Pixel8
- data PixelCMYK16 = PixelCMYK16 !Pixel16 !Pixel16 !Pixel16 !Pixel16
- data PixelYCbCr8 = PixelYCbCr8 !Pixel8 !Pixel8 !Pixel8
- data PixelYCbCrK8 = PixelYCbCrK8 !Pixel8 !Pixel8 !Pixel8 !Pixel8
- class (Pixel a, Pixel b) => ColorConvertible a b where
- promotePixel :: a -> b
- promoteImage :: Image a -> Image b
- class (Storable (PixelBaseComponent a), Num (PixelBaseComponent a), Eq a) => Pixel a where
- type PixelBaseComponent a
- mixWith :: (Int -> PixelBaseComponent a -> PixelBaseComponent a -> PixelBaseComponent a) -> a -> a -> a
- mixWithAlpha :: (Int -> PixelBaseComponent a -> PixelBaseComponent a -> PixelBaseComponent a) -> (PixelBaseComponent a -> PixelBaseComponent a -> PixelBaseComponent a) -> a -> a -> a
- pixelOpacity :: a -> PixelBaseComponent a
- componentCount :: a -> Int
- colorMap :: (PixelBaseComponent a -> PixelBaseComponent a) -> a -> a
- pixelBaseIndex :: Image a -> Int -> Int -> Int
- mutablePixelBaseIndex :: MutableImage s a -> Int -> Int -> Int
- pixelAt :: Image a -> Int -> Int -> a
- readPixel :: PrimMonad m => MutableImage (PrimState m) a -> Int -> Int -> m a
- writePixel :: PrimMonad m => MutableImage (PrimState m) a -> Int -> Int -> a -> m ()
- unsafePixelAt :: Vector (PixelBaseComponent a) -> Int -> a
- unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent a) -> Int -> m a
- unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent a) -> Int -> a -> m ()
- class (Pixel a, Pixel b) => ColorSpaceConvertible a b where
- convertPixel :: a -> b
- convertImage :: Image a -> Image b
- class (Pixel a, Pixel (PixelBaseComponent a)) => LumaPlaneExtractable a where
- computeLuma :: a -> PixelBaseComponent a
- extractLumaPlane :: Image a -> Image (PixelBaseComponent a)
- class (Pixel a, Pixel b) => TransparentPixel a b | a -> b where
- dropTransparency :: a -> b
- getTransparency :: a -> PixelBaseComponent a
- pixelMap :: (Pixel a, Pixel b) => (a -> b) -> Image a -> Image b
- pixelMapXY :: (Pixel a, Pixel b) => (Int -> Int -> a -> b) -> Image a -> Image b
- pixelFold :: forall acc pixel. Pixel pixel => (acc -> Int -> Int -> pixel -> acc) -> acc -> Image pixel -> acc
- pixelFoldM :: (Pixel pixel, Monad m) => (acc -> Int -> Int -> pixel -> m acc) -> acc -> Image pixel -> m acc
- pixelFoldMap :: forall m px. (Pixel px, Monoid m) => (px -> m) -> Image px -> m
- dynamicMap :: (forall pixel. Pixel pixel => Image pixel -> a) -> DynamicImage -> a
- dynamicPixelMap :: (forall pixel. Pixel pixel => Image pixel -> Image pixel) -> DynamicImage -> DynamicImage
- palettedToTrueColor :: PalettedImage -> DynamicImage
- palettedAsImage :: Palette' px -> Image px
- dropAlphaLayer :: TransparentPixel a b => Image a -> Image b
- withImage :: forall m pixel. (Pixel pixel, PrimMonad m) => Int -> Int -> (Int -> Int -> m pixel) -> m (Image pixel)
- zipPixelComponent3 :: Storable (PixelBaseComponent px) => (PixelBaseComponent px -> PixelBaseComponent px -> PixelBaseComponent px -> PixelBaseComponent px) -> Image px -> Image px -> Image px -> Image px
- generateImage :: Pixel px => (Int -> Int -> px) -> Int -> Int -> Image px
- generateFoldImage :: Pixel a => (acc -> Int -> Int -> (acc, a)) -> acc -> Int -> Int -> (acc, Image a)
- gammaCorrection :: PixelF -> Image PixelRGBF -> Image PixelRGBF
- toneMapping :: PixelF -> Image PixelRGBF -> Image PixelRGBF
- class ColorPlane pixel planeToken
- data PlaneRed = PlaneRed
- data PlaneGreen = PlaneGreen
- data PlaneBlue = PlaneBlue
- data PlaneAlpha = PlaneAlpha
- data PlaneLuma = PlaneLuma
- data PlaneCr = PlaneCr
- data PlaneCb = PlaneCb
- data PlaneCyan = PlaneCyan
- data PlaneMagenta = PlaneMagenta
- data PlaneYellow = PlaneYellow
- data PlaneBlack = PlaneBlack
- extractComponent :: (Pixel px, Pixel (PixelBaseComponent px), PixelBaseComponent (PixelBaseComponent px) ~ PixelBaseComponent px, ColorPlane px plane) => plane -> Image px -> Image (PixelBaseComponent px)
- unsafeExtractComponent :: (Pixel a, Pixel (PixelBaseComponent a), PixelBaseComponent (PixelBaseComponent a) ~ PixelBaseComponent a) => Int -> Image a -> Image (PixelBaseComponent a)
- class PackeablePixel a where
- type PackedRepresentation a
- packPixel :: a -> PackedRepresentation a
- unpackPixel :: PackedRepresentation a -> a
- fillImageWith :: (Pixel px, PackeablePixel px, PrimMonad m, Storable (PackedRepresentation px)) => MutableImage (PrimState m) px -> px -> m ()
- readPackedPixelAt :: forall m px. (Pixel px, PackeablePixel px, Storable (PackedRepresentation px), PrimMonad m) => MutableImage (PrimState m) px -> Int -> m px
- writePackedPixelAt :: (Pixel px, PackeablePixel px, Storable (PackedRepresentation px), PrimMonad m) => MutableImage (PrimState m) px -> Int -> px -> m ()
- unsafeWritePixelBetweenAt :: (PrimMonad m, Pixel px, PackeablePixel px, Storable (PackedRepresentation px)) => MutableImage (PrimState m) px -> px -> Int -> Int -> m ()
Types
Image types
The main type of this package, one that most functions work on, is Image.
Parameterized by the underlying pixel format it
forms a rigid type. If you wish to store images
of different or unknown pixel formats use DynamicImage
.
Image is essentially a rectangular pixel buffer of specified width and height. The coordinates are assumed to start from the upper-left corner of the image, with the horizontal position first and vertical second.
Constructors
Image | |
Fields
|
data MutableImage s a #
Image or pixel buffer, the coordinates are assumed to start from the upper-left corner of the image, with the horizontal position first, then the vertical one. The image can be transformed in place.
Constructors
MutableImage | |
Fields
|
Instances
NFData (MutableImage s a) # | |
Defined in Codec.Picture.Types Methods rnf :: MutableImage s a -> () # |
data DynamicImage #
Image type enumerating all predefined pixel types. It enables loading and use of images of different pixel types.
Constructors
ImageY8 (Image Pixel8) | A greyscale image. |
ImageY16 (Image Pixel16) | A greyscale image with 16bit components |
ImageY32 (Image Pixel32) | A greyscale image with 32bit components |
ImageYF (Image PixelF) | A greyscale HDR image |
ImageYA8 (Image PixelYA8) | An image in greyscale with an alpha channel. |
ImageYA16 (Image PixelYA16) | An image in greyscale with alpha channel on 16 bits. |
ImageRGB8 (Image PixelRGB8) | An image in true color. |
ImageRGB16 (Image PixelRGB16) | An image in true color with 16bit depth. |
ImageRGBF (Image PixelRGBF) | An image with HDR pixels |
ImageRGBA8 (Image PixelRGBA8) | An image in true color and an alpha channel. |
ImageRGBA16 (Image PixelRGBA16) | A true color image with alpha on 16 bits. |
ImageYCbCr8 (Image PixelYCbCr8) | An image in the colorspace used by Jpeg images. |
ImageCMYK8 (Image PixelCMYK8) | An image in the colorspace CMYK |
ImageCMYK16 (Image PixelCMYK16) | An image in the colorspace CMYK and 16 bits precision |
Instances
NFData DynamicImage # | |
Defined in Codec.Picture.Types Methods rnf :: DynamicImage -> () # | |
Eq DynamicImage # | |
Defined in Codec.Picture.Types |
data PalettedImage #
Describe an image and it's potential associated palette. If no palette is present, fallback to a DynamicImage
Constructors
Type used to expose a palette extracted during reading.
Use palettedAsImage
to convert it to a palette usable for
writing.
Constructors
Palette' | |
Fields
|
Image functions
Arguments
:: (Pixel px, PrimMonad m) | |
=> Int | Width |
-> Int | Height |
-> px | Background color |
-> m (MutableImage (PrimState m) px) |
Create a mutable image, filled with the given background color.
Create a mutable image with garbage as content. All data is uninitialized.
freezeImage :: (Storable (PixelBaseComponent px), PrimMonad m) => MutableImage (PrimState m) px -> m (Image px) #
`O(n)` Yield an immutable copy of an image by making a copy of it
unsafeFreezeImage :: (Storable (PixelBaseComponent a), PrimMonad m) => MutableImage (PrimState m) a -> m (Image a) #
`O(1)` Unsafe convert a mutable image to an immutable one without copying. The mutable image may not be used after this operation.
thawImage :: (Storable (PixelBaseComponent px), PrimMonad m) => Image px -> m (MutableImage (PrimState m) px) #
`O(n)` Yield a mutable copy of an image by making a copy of it.
unsafeThawImage :: (Storable (PixelBaseComponent px), PrimMonad m) => Image px -> m (MutableImage (PrimState m) px) #
`O(1)` Unsafe convert an imutable image to an mutable one without copying. The source image shouldn't be used after this operation.
Image Lenses
type Traversal s t a b = forall (f :: Type -> Type). Applicative f => (a -> f b) -> s -> f t #
Traversal type matching the definition in the Lens package.
imagePixels :: (Pixel pxa, Pixel pxb) => Traversal (Image pxa) (Image pxb) pxa pxb #
Traversal in "raster" order, from left to right the top to bottom. This traversal is matching pixelMap in spirit.
Since 3.2.4
imageIPixels :: (Pixel pxa, Pixel pxb) => Traversal (Image pxa) (Image pxb) (Int, Int, pxa) pxb #
Traversal providing the pixel position with it's value. The traversal in raster order, from lef to right, then top to bottom. The traversal match pixelMapXY in spirit.
Since 3.2.4
Pixel types
Type alias for 8bit greyscale pixels. For simplicity, greyscale pixels use plain numbers instead of a separate type.
Type alias for 32bit floating point greyscale pixels. The standard bounded value range is mapped to the closed interval [0,1] i.e.
map promotePixel [0, 1 .. 255 :: Pixel8] == [0/255, 1/255 .. 1.0 :: PixelF]
Pixel type storing 8bit Luminance (Y) and alpha (A) information. Values are stored in the following order:
- Luminance
- Alpha
Instances
Pixel type storing 16bit Luminance (Y) and alpha (A) information. Values are stored in the following order:
- Luminance
- Alpha
Instances
PngSavable PixelYA16 # | |||||
Defined in Codec.Picture.Png.Internal.Export Methods encodePng :: Image PixelYA16 -> ByteString # encodePngWithMetadata :: Metadatas -> Image PixelYA16 -> ByteString # | |||||
TiffSaveable PixelYA16 # | |||||
Defined in Codec.Picture.Tiff Methods colorSpaceOfPixel :: PixelYA16 -> TiffColorspace extraSampleCodeOfPixel :: PixelYA16 -> Maybe ExtraSample subSamplingInfo :: PixelYA16 -> Vector Word32 sampleFormat :: PixelYA16 -> [TiffSampleFormat] | |||||
PackeablePixel PixelYA16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods packPixel :: PixelYA16 -> PackedRepresentation PixelYA16 # unpackPixel :: PackedRepresentation PixelYA16 -> PixelYA16 # | |||||
Pixel PixelYA16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16) -> PixelYA16 -> PixelYA16 -> PixelYA16 # mixWithAlpha :: (Int -> PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16) -> (PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16) -> PixelYA16 -> PixelYA16 -> PixelYA16 # pixelOpacity :: PixelYA16 -> PixelBaseComponent PixelYA16 # componentCount :: PixelYA16 -> Int # colorMap :: (PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16) -> PixelYA16 -> PixelYA16 # pixelBaseIndex :: Image PixelYA16 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelYA16 -> Int -> Int -> Int # pixelAt :: Image PixelYA16 -> Int -> Int -> PixelYA16 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelYA16 -> Int -> Int -> m PixelYA16 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelYA16 -> Int -> Int -> PixelYA16 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelYA16) -> Int -> PixelYA16 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYA16) -> Int -> m PixelYA16 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYA16) -> Int -> PixelYA16 -> m () # | |||||
Show PixelYA16 # | |||||
Eq PixelYA16 # | |||||
Ord PixelYA16 # | |||||
ColorConvertible Pixel16 PixelYA16 # | |||||
Defined in Codec.Picture.Types | |||||
ColorConvertible PixelYA16 PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelYA16 -> PixelRGB16 # promoteImage :: Image PixelYA16 -> Image PixelRGB16 # | |||||
ColorConvertible PixelYA16 PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelYA16 -> PixelRGBA16 # promoteImage :: Image PixelYA16 -> Image PixelRGBA16 # | |||||
ColorPlane PixelYA16 PlaneAlpha # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYA16 -> PlaneAlpha -> Int | |||||
ColorPlane PixelYA16 PlaneLuma # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYA16 -> PlaneLuma -> Int | |||||
TransparentPixel PixelYA16 Pixel16 # | |||||
Defined in Codec.Picture.Types Methods dropTransparency :: PixelYA16 -> Pixel16 # getTransparency :: PixelYA16 -> PixelBaseComponent PixelYA16 # | |||||
type PackedRepresentation PixelYA16 # | |||||
Defined in Codec.Picture.Types | |||||
type PixelBaseComponent PixelYA16 # | |||||
Defined in Codec.Picture.Types |
Classic pixel type storing 8bit red, green and blue (RGB) information. Values are stored in the following order:
- Red
- Green
- Blue
Instances
BmpEncodable PixelRGB8 # | |||||
Defined in Codec.Picture.Bitmap | |||||
JpgEncodable PixelRGB8 # | |||||
Defined in Codec.Picture.Jpg Methods additionalBlocks :: Image PixelRGB8 -> [JpgFrame] componentsOfColorSpace :: Image PixelRGB8 -> [JpgComponent] encodingState :: Int -> Image PixelRGB8 -> Vector EncoderState imageHuffmanTables :: Image PixelRGB8 -> [(JpgHuffmanTableSpec, HuffmanPackedTree)] scanSpecificationOfColorSpace :: Image PixelRGB8 -> [JpgScanSpecification] quantTableSpec :: Image PixelRGB8 -> Int -> [JpgQuantTableSpec] | |||||
PngPaletteSaveable PixelRGB8 # | |||||
Defined in Codec.Picture.Png.Internal.Export Methods encodePalettedPng :: Image PixelRGB8 -> Image Pixel8 -> Either String ByteString # encodePalettedPngWithMetadata :: Metadatas -> Image PixelRGB8 -> Image Pixel8 -> Either String ByteString # | |||||
PngSavable PixelRGB8 # | |||||
Defined in Codec.Picture.Png.Internal.Export Methods encodePng :: Image PixelRGB8 -> ByteString # encodePngWithMetadata :: Metadatas -> Image PixelRGB8 -> ByteString # | |||||
TgaSaveable PixelRGB8 # | |||||
Defined in Codec.Picture.Tga Methods tgaDataOfImage :: Image PixelRGB8 -> ByteString tgaPixelDepthOfImage :: Image PixelRGB8 -> Word8 tgaTypeOfImage :: Image PixelRGB8 -> TgaImageType | |||||
TiffSaveable PixelRGB8 # | |||||
Defined in Codec.Picture.Tiff Methods colorSpaceOfPixel :: PixelRGB8 -> TiffColorspace extraSampleCodeOfPixel :: PixelRGB8 -> Maybe ExtraSample subSamplingInfo :: PixelRGB8 -> Vector Word32 sampleFormat :: PixelRGB8 -> [TiffSampleFormat] | |||||
LumaPlaneExtractable PixelRGB8 # | |||||
Defined in Codec.Picture.Types Methods computeLuma :: PixelRGB8 -> PixelBaseComponent PixelRGB8 # extractLumaPlane :: Image PixelRGB8 -> Image (PixelBaseComponent PixelRGB8) # | |||||
Pixel PixelRGB8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8) -> PixelRGB8 -> PixelRGB8 -> PixelRGB8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8) -> (PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8) -> PixelRGB8 -> PixelRGB8 -> PixelRGB8 # pixelOpacity :: PixelRGB8 -> PixelBaseComponent PixelRGB8 # componentCount :: PixelRGB8 -> Int # colorMap :: (PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8) -> PixelRGB8 -> PixelRGB8 # pixelBaseIndex :: Image PixelRGB8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelRGB8 -> Int -> Int -> Int # pixelAt :: Image PixelRGB8 -> Int -> Int -> PixelRGB8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelRGB8 -> Int -> Int -> m PixelRGB8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelRGB8 -> Int -> Int -> PixelRGB8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelRGB8) -> Int -> PixelRGB8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGB8) -> Int -> m PixelRGB8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGB8) -> Int -> PixelRGB8 -> m () # | |||||
Show PixelRGB8 # | |||||
Eq PixelRGB8 # | |||||
Ord PixelRGB8 # | |||||
ColorConvertible Pixel8 PixelRGB8 # | |||||
Defined in Codec.Picture.Types | |||||
ColorConvertible PixelRGB8 PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB8 -> PixelRGB16 # promoteImage :: Image PixelRGB8 -> Image PixelRGB16 # | |||||
ColorConvertible PixelRGB8 PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB8 -> PixelRGBA16 # promoteImage :: Image PixelRGB8 -> Image PixelRGBA16 # | |||||
ColorConvertible PixelRGB8 PixelRGBA8 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB8 -> PixelRGBA8 # promoteImage :: Image PixelRGB8 -> Image PixelRGBA8 # | |||||
ColorConvertible PixelRGB8 PixelRGBF # | |||||
Defined in Codec.Picture.Types | |||||
ColorConvertible PixelYA8 PixelRGB8 # | |||||
Defined in Codec.Picture.Types | |||||
ColorPlane PixelRGB8 PlaneBlue # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB8 -> PlaneBlue -> Int | |||||
ColorPlane PixelRGB8 PlaneGreen # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB8 -> PlaneGreen -> Int | |||||
ColorPlane PixelRGB8 PlaneRed # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB8 -> PlaneRed -> Int | |||||
ColorSpaceConvertible PixelCMYK8 PixelRGB8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelCMYK8 -> PixelRGB8 # convertImage :: Image PixelCMYK8 -> Image PixelRGB8 # | |||||
ColorSpaceConvertible PixelRGB8 PixelCMYK8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelRGB8 -> PixelCMYK8 # convertImage :: Image PixelRGB8 -> Image PixelCMYK8 # | |||||
ColorSpaceConvertible PixelRGB8 PixelYCbCr8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelRGB8 -> PixelYCbCr8 # convertImage :: Image PixelRGB8 -> Image PixelYCbCr8 # | |||||
ColorSpaceConvertible PixelYCbCr8 PixelRGB8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelYCbCr8 -> PixelRGB8 # convertImage :: Image PixelYCbCr8 -> Image PixelRGB8 # | |||||
ColorSpaceConvertible PixelYCbCrK8 PixelRGB8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelYCbCrK8 -> PixelRGB8 # convertImage :: Image PixelYCbCrK8 -> Image PixelRGB8 # | |||||
TransparentPixel PixelRGBA8 PixelRGB8 # | |||||
Defined in Codec.Picture.Types Methods dropTransparency :: PixelRGBA8 -> PixelRGB8 # getTransparency :: PixelRGBA8 -> PixelBaseComponent PixelRGBA8 # | |||||
type PixelBaseComponent PixelRGB8 # | |||||
Defined in Codec.Picture.Types |
data PixelRGB16 #
Pixel type storing 16bit red, green and blue (RGB) information. Values are stored in the following order:
- Red
- Green
- Blue
Constructors
PixelRGB16 !Pixel16 !Pixel16 !Pixel16 |
Instances
PngSavable PixelRGB16 # | |||||
Defined in Codec.Picture.Png.Internal.Export Methods encodePng :: Image PixelRGB16 -> ByteString # encodePngWithMetadata :: Metadatas -> Image PixelRGB16 -> ByteString # | |||||
TiffSaveable PixelRGB16 # | |||||
Defined in Codec.Picture.Tiff Methods colorSpaceOfPixel :: PixelRGB16 -> TiffColorspace extraSampleCodeOfPixel :: PixelRGB16 -> Maybe ExtraSample subSamplingInfo :: PixelRGB16 -> Vector Word32 sampleFormat :: PixelRGB16 -> [TiffSampleFormat] | |||||
LumaPlaneExtractable PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods computeLuma :: PixelRGB16 -> PixelBaseComponent PixelRGB16 # extractLumaPlane :: Image PixelRGB16 -> Image (PixelBaseComponent PixelRGB16) # | |||||
Pixel PixelRGB16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16) -> PixelRGB16 -> PixelRGB16 -> PixelRGB16 # mixWithAlpha :: (Int -> PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16) -> (PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16) -> PixelRGB16 -> PixelRGB16 -> PixelRGB16 # pixelOpacity :: PixelRGB16 -> PixelBaseComponent PixelRGB16 # componentCount :: PixelRGB16 -> Int # colorMap :: (PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16) -> PixelRGB16 -> PixelRGB16 # pixelBaseIndex :: Image PixelRGB16 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelRGB16 -> Int -> Int -> Int # pixelAt :: Image PixelRGB16 -> Int -> Int -> PixelRGB16 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelRGB16 -> Int -> Int -> m PixelRGB16 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelRGB16 -> Int -> Int -> PixelRGB16 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelRGB16) -> Int -> PixelRGB16 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGB16) -> Int -> m PixelRGB16 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGB16) -> Int -> PixelRGB16 -> m () # | |||||
Show PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods showsPrec :: Int -> PixelRGB16 -> ShowS # show :: PixelRGB16 -> String # showList :: [PixelRGB16] -> ShowS # | |||||
Eq PixelRGB16 # | |||||
Defined in Codec.Picture.Types | |||||
Ord PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods compare :: PixelRGB16 -> PixelRGB16 -> Ordering # (<) :: PixelRGB16 -> PixelRGB16 -> Bool # (<=) :: PixelRGB16 -> PixelRGB16 -> Bool # (>) :: PixelRGB16 -> PixelRGB16 -> Bool # (>=) :: PixelRGB16 -> PixelRGB16 -> Bool # max :: PixelRGB16 -> PixelRGB16 -> PixelRGB16 # min :: PixelRGB16 -> PixelRGB16 -> PixelRGB16 # | |||||
ColorConvertible Pixel16 PixelRGB16 # | |||||
Defined in Codec.Picture.Types | |||||
ColorConvertible Pixel8 PixelRGB16 # | |||||
Defined in Codec.Picture.Types | |||||
ColorConvertible PixelRGB16 PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB16 -> PixelRGBA16 # promoteImage :: Image PixelRGB16 -> Image PixelRGBA16 # | |||||
ColorConvertible PixelRGB8 PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB8 -> PixelRGB16 # promoteImage :: Image PixelRGB8 -> Image PixelRGB16 # | |||||
ColorConvertible PixelYA16 PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelYA16 -> PixelRGB16 # promoteImage :: Image PixelYA16 -> Image PixelRGB16 # | |||||
ColorConvertible PixelYA8 PixelRGB16 # | |||||
Defined in Codec.Picture.Types | |||||
ColorPlane PixelRGB16 PlaneBlue # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB16 -> PlaneBlue -> Int | |||||
ColorPlane PixelRGB16 PlaneGreen # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB16 -> PlaneGreen -> Int | |||||
ColorPlane PixelRGB16 PlaneRed # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB16 -> PlaneRed -> Int | |||||
ColorSpaceConvertible PixelCMYK16 PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelCMYK16 -> PixelRGB16 # convertImage :: Image PixelCMYK16 -> Image PixelRGB16 # | |||||
ColorSpaceConvertible PixelRGB16 PixelCMYK16 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelRGB16 -> PixelCMYK16 # convertImage :: Image PixelRGB16 -> Image PixelCMYK16 # | |||||
TransparentPixel PixelRGBA16 PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods dropTransparency :: PixelRGBA16 -> PixelRGB16 # getTransparency :: PixelRGBA16 -> PixelBaseComponent PixelRGBA16 # | |||||
type PixelBaseComponent PixelRGB16 # | |||||
Defined in Codec.Picture.Types |
HDR pixel type storing floating point 32bit red, green and blue (RGB) information.
Same value range and comments apply as for PixelF
.
Values are stored in the following order:
- Red
- Green
- Blue
Instances
LumaPlaneExtractable PixelRGBF # | |||||
Defined in Codec.Picture.Types Methods computeLuma :: PixelRGBF -> PixelBaseComponent PixelRGBF # extractLumaPlane :: Image PixelRGBF -> Image (PixelBaseComponent PixelRGBF) # | |||||
Pixel PixelRGBF # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF) -> PixelRGBF -> PixelRGBF -> PixelRGBF # mixWithAlpha :: (Int -> PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF) -> (PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF) -> PixelRGBF -> PixelRGBF -> PixelRGBF # pixelOpacity :: PixelRGBF -> PixelBaseComponent PixelRGBF # componentCount :: PixelRGBF -> Int # colorMap :: (PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF) -> PixelRGBF -> PixelRGBF # pixelBaseIndex :: Image PixelRGBF -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelRGBF -> Int -> Int -> Int # pixelAt :: Image PixelRGBF -> Int -> Int -> PixelRGBF # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBF -> Int -> Int -> m PixelRGBF # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBF -> Int -> Int -> PixelRGBF -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelRGBF) -> Int -> PixelRGBF # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBF) -> Int -> m PixelRGBF # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBF) -> Int -> PixelRGBF -> m () # | |||||
Show PixelRGBF # | |||||
Eq PixelRGBF # | |||||
Ord PixelRGBF # | |||||
ColorConvertible PixelF PixelRGBF # | |||||
Defined in Codec.Picture.Types | |||||
ColorConvertible PixelRGB8 PixelRGBF # | |||||
Defined in Codec.Picture.Types | |||||
ColorPlane PixelRGBF PlaneBlue # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBF -> PlaneBlue -> Int | |||||
ColorPlane PixelRGBF PlaneGreen # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBF -> PlaneGreen -> Int | |||||
ColorPlane PixelRGBF PlaneRed # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBF -> PlaneRed -> Int | |||||
type PixelBaseComponent PixelRGBF # | |||||
Defined in Codec.Picture.Types |
data PixelRGBA8 #
Classical pixel type storing 8bit red, green, blue and alpha (RGBA) information. Values are stored in the following order:
- Red
- Green
- Blue
- Alpha
Constructors
PixelRGBA8 !Pixel8 !Pixel8 !Pixel8 !Pixel8 |
Instances
BmpEncodable PixelRGBA8 # | |||||
Defined in Codec.Picture.Bitmap Methods bitsPerPixel :: PixelRGBA8 -> Int bmpEncode :: Image PixelRGBA8 -> Put hasAlpha :: Image PixelRGBA8 -> Bool defaultPalette :: PixelRGBA8 -> BmpPalette | |||||
PngPaletteSaveable PixelRGBA8 # | |||||
Defined in Codec.Picture.Png.Internal.Export Methods encodePalettedPng :: Image PixelRGBA8 -> Image Pixel8 -> Either String ByteString # encodePalettedPngWithMetadata :: Metadatas -> Image PixelRGBA8 -> Image Pixel8 -> Either String ByteString # | |||||
PngSavable PixelRGBA8 # | |||||
Defined in Codec.Picture.Png.Internal.Export Methods encodePng :: Image PixelRGBA8 -> ByteString # encodePngWithMetadata :: Metadatas -> Image PixelRGBA8 -> ByteString # | |||||
TgaSaveable PixelRGBA8 # | |||||
Defined in Codec.Picture.Tga Methods tgaDataOfImage :: Image PixelRGBA8 -> ByteString tgaPixelDepthOfImage :: Image PixelRGBA8 -> Word8 tgaTypeOfImage :: Image PixelRGBA8 -> TgaImageType | |||||
TiffSaveable PixelRGBA8 # | |||||
Defined in Codec.Picture.Tiff Methods colorSpaceOfPixel :: PixelRGBA8 -> TiffColorspace extraSampleCodeOfPixel :: PixelRGBA8 -> Maybe ExtraSample subSamplingInfo :: PixelRGBA8 -> Vector Word32 sampleFormat :: PixelRGBA8 -> [TiffSampleFormat] | |||||
LumaPlaneExtractable PixelRGBA8 # | |||||
Defined in Codec.Picture.Types Methods computeLuma :: PixelRGBA8 -> PixelBaseComponent PixelRGBA8 # extractLumaPlane :: Image PixelRGBA8 -> Image (PixelBaseComponent PixelRGBA8) # | |||||
PackeablePixel PixelRGBA8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods packPixel :: PixelRGBA8 -> PackedRepresentation PixelRGBA8 # unpackPixel :: PackedRepresentation PixelRGBA8 -> PixelRGBA8 # | |||||
Pixel PixelRGBA8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8) -> PixelRGBA8 -> PixelRGBA8 -> PixelRGBA8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8) -> (PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8) -> PixelRGBA8 -> PixelRGBA8 -> PixelRGBA8 # pixelOpacity :: PixelRGBA8 -> PixelBaseComponent PixelRGBA8 # componentCount :: PixelRGBA8 -> Int # colorMap :: (PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8) -> PixelRGBA8 -> PixelRGBA8 # pixelBaseIndex :: Image PixelRGBA8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelRGBA8 -> Int -> Int -> Int # pixelAt :: Image PixelRGBA8 -> Int -> Int -> PixelRGBA8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBA8 -> Int -> Int -> m PixelRGBA8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBA8 -> Int -> Int -> PixelRGBA8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelRGBA8) -> Int -> PixelRGBA8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBA8) -> Int -> m PixelRGBA8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBA8) -> Int -> PixelRGBA8 -> m () # | |||||
Show PixelRGBA8 # | |||||
Defined in Codec.Picture.Types Methods showsPrec :: Int -> PixelRGBA8 -> ShowS # show :: PixelRGBA8 -> String # showList :: [PixelRGBA8] -> ShowS # | |||||
Eq PixelRGBA8 # | |||||
Defined in Codec.Picture.Types | |||||
Ord PixelRGBA8 # | |||||
Defined in Codec.Picture.Types Methods compare :: PixelRGBA8 -> PixelRGBA8 -> Ordering # (<) :: PixelRGBA8 -> PixelRGBA8 -> Bool # (<=) :: PixelRGBA8 -> PixelRGBA8 -> Bool # (>) :: PixelRGBA8 -> PixelRGBA8 -> Bool # (>=) :: PixelRGBA8 -> PixelRGBA8 -> Bool # max :: PixelRGBA8 -> PixelRGBA8 -> PixelRGBA8 # min :: PixelRGBA8 -> PixelRGBA8 -> PixelRGBA8 # | |||||
ColorConvertible Pixel8 PixelRGBA8 # | |||||
Defined in Codec.Picture.Types | |||||
ColorConvertible PixelRGB8 PixelRGBA8 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB8 -> PixelRGBA8 # promoteImage :: Image PixelRGB8 -> Image PixelRGBA8 # | |||||
ColorConvertible PixelRGBA8 PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGBA8 -> PixelRGBA16 # promoteImage :: Image PixelRGBA8 -> Image PixelRGBA16 # | |||||
ColorConvertible PixelYA8 PixelRGBA8 # | |||||
Defined in Codec.Picture.Types | |||||
ColorPlane PixelRGBA8 PlaneAlpha # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneAlpha -> Int | |||||
ColorPlane PixelRGBA8 PlaneBlue # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneBlue -> Int | |||||
ColorPlane PixelRGBA8 PlaneGreen # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneGreen -> Int | |||||
ColorPlane PixelRGBA8 PlaneRed # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneRed -> Int | |||||
TransparentPixel PixelRGBA8 PixelRGB8 # | |||||
Defined in Codec.Picture.Types Methods dropTransparency :: PixelRGBA8 -> PixelRGB8 # getTransparency :: PixelRGBA8 -> PixelBaseComponent PixelRGBA8 # | |||||
type PackedRepresentation PixelRGBA8 # | |||||
Defined in Codec.Picture.Types | |||||
type PixelBaseComponent PixelRGBA8 # | |||||
Defined in Codec.Picture.Types |
data PixelRGBA16 #
Pixel type storing 16bit red, green, blue and alpha (RGBA) information. Values are stored in the following order:
- Red
- Green
- Blue
- Alpha
Constructors
PixelRGBA16 !Pixel16 !Pixel16 !Pixel16 !Pixel16 |
Instances
PngSavable PixelRGBA16 # | |||||
Defined in Codec.Picture.Png.Internal.Export Methods encodePng :: Image PixelRGBA16 -> ByteString # encodePngWithMetadata :: Metadatas -> Image PixelRGBA16 -> ByteString # | |||||
TiffSaveable PixelRGBA16 # | |||||
Defined in Codec.Picture.Tiff Methods colorSpaceOfPixel :: PixelRGBA16 -> TiffColorspace extraSampleCodeOfPixel :: PixelRGBA16 -> Maybe ExtraSample subSamplingInfo :: PixelRGBA16 -> Vector Word32 sampleFormat :: PixelRGBA16 -> [TiffSampleFormat] | |||||
PackeablePixel PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods packPixel :: PixelRGBA16 -> PackedRepresentation PixelRGBA16 # unpackPixel :: PackedRepresentation PixelRGBA16 -> PixelRGBA16 # | |||||
Pixel PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16) -> PixelRGBA16 -> PixelRGBA16 -> PixelRGBA16 # mixWithAlpha :: (Int -> PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16) -> (PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16) -> PixelRGBA16 -> PixelRGBA16 -> PixelRGBA16 # pixelOpacity :: PixelRGBA16 -> PixelBaseComponent PixelRGBA16 # componentCount :: PixelRGBA16 -> Int # colorMap :: (PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16) -> PixelRGBA16 -> PixelRGBA16 # pixelBaseIndex :: Image PixelRGBA16 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelRGBA16 -> Int -> Int -> Int # pixelAt :: Image PixelRGBA16 -> Int -> Int -> PixelRGBA16 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBA16 -> Int -> Int -> m PixelRGBA16 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBA16 -> Int -> Int -> PixelRGBA16 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelRGBA16) -> Int -> PixelRGBA16 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBA16) -> Int -> m PixelRGBA16 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBA16) -> Int -> PixelRGBA16 -> m () # | |||||
Show PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Methods showsPrec :: Int -> PixelRGBA16 -> ShowS # show :: PixelRGBA16 -> String # showList :: [PixelRGBA16] -> ShowS # | |||||
Eq PixelRGBA16 # | |||||
Defined in Codec.Picture.Types | |||||
Ord PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Methods compare :: PixelRGBA16 -> PixelRGBA16 -> Ordering # (<) :: PixelRGBA16 -> PixelRGBA16 -> Bool # (<=) :: PixelRGBA16 -> PixelRGBA16 -> Bool # (>) :: PixelRGBA16 -> PixelRGBA16 -> Bool # (>=) :: PixelRGBA16 -> PixelRGBA16 -> Bool # max :: PixelRGBA16 -> PixelRGBA16 -> PixelRGBA16 # min :: PixelRGBA16 -> PixelRGBA16 -> PixelRGBA16 # | |||||
ColorConvertible Pixel16 PixelRGBA16 # | |||||
Defined in Codec.Picture.Types | |||||
ColorConvertible PixelRGB16 PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB16 -> PixelRGBA16 # promoteImage :: Image PixelRGB16 -> Image PixelRGBA16 # | |||||
ColorConvertible PixelRGB8 PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB8 -> PixelRGBA16 # promoteImage :: Image PixelRGB8 -> Image PixelRGBA16 # | |||||
ColorConvertible PixelRGBA8 PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGBA8 -> PixelRGBA16 # promoteImage :: Image PixelRGBA8 -> Image PixelRGBA16 # | |||||
ColorConvertible PixelYA16 PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Methods promotePixel :: PixelYA16 -> PixelRGBA16 # promoteImage :: Image PixelYA16 -> Image PixelRGBA16 # | |||||
ColorPlane PixelRGBA16 PlaneAlpha # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneAlpha -> Int | |||||
ColorPlane PixelRGBA16 PlaneBlue # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneBlue -> Int | |||||
ColorPlane PixelRGBA16 PlaneGreen # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneGreen -> Int | |||||
ColorPlane PixelRGBA16 PlaneRed # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneRed -> Int | |||||
TransparentPixel PixelRGBA16 PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods dropTransparency :: PixelRGBA16 -> PixelRGB16 # getTransparency :: PixelRGBA16 -> PixelBaseComponent PixelRGBA16 # | |||||
type PackedRepresentation PixelRGBA16 # | |||||
Defined in Codec.Picture.Types | |||||
type PixelBaseComponent PixelRGBA16 # | |||||
Defined in Codec.Picture.Types |
data PixelCMYK8 #
Pixel type storing 8bit cyan, magenta, yellow and black (CMYK) information. Values are stored in the following order:
- Cyan
- Magenta
- Yellow
- Black
Constructors
PixelCMYK8 !Pixel8 !Pixel8 !Pixel8 !Pixel8 |
Instances
JpgEncodable PixelCMYK8 # | |||||
Defined in Codec.Picture.Jpg Methods additionalBlocks :: Image PixelCMYK8 -> [JpgFrame] componentsOfColorSpace :: Image PixelCMYK8 -> [JpgComponent] encodingState :: Int -> Image PixelCMYK8 -> Vector EncoderState imageHuffmanTables :: Image PixelCMYK8 -> [(JpgHuffmanTableSpec, HuffmanPackedTree)] scanSpecificationOfColorSpace :: Image PixelCMYK8 -> [JpgScanSpecification] quantTableSpec :: Image PixelCMYK8 -> Int -> [JpgQuantTableSpec] | |||||
TiffSaveable PixelCMYK8 # | |||||
Defined in Codec.Picture.Tiff Methods colorSpaceOfPixel :: PixelCMYK8 -> TiffColorspace extraSampleCodeOfPixel :: PixelCMYK8 -> Maybe ExtraSample subSamplingInfo :: PixelCMYK8 -> Vector Word32 sampleFormat :: PixelCMYK8 -> [TiffSampleFormat] | |||||
PackeablePixel PixelCMYK8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods packPixel :: PixelCMYK8 -> PackedRepresentation PixelCMYK8 # unpackPixel :: PackedRepresentation PixelCMYK8 -> PixelCMYK8 # | |||||
Pixel PixelCMYK8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8) -> PixelCMYK8 -> PixelCMYK8 -> PixelCMYK8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8) -> (PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8) -> PixelCMYK8 -> PixelCMYK8 -> PixelCMYK8 # pixelOpacity :: PixelCMYK8 -> PixelBaseComponent PixelCMYK8 # componentCount :: PixelCMYK8 -> Int # colorMap :: (PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8) -> PixelCMYK8 -> PixelCMYK8 # pixelBaseIndex :: Image PixelCMYK8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelCMYK8 -> Int -> Int -> Int # pixelAt :: Image PixelCMYK8 -> Int -> Int -> PixelCMYK8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelCMYK8 -> Int -> Int -> m PixelCMYK8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelCMYK8 -> Int -> Int -> PixelCMYK8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelCMYK8) -> Int -> PixelCMYK8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelCMYK8) -> Int -> m PixelCMYK8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelCMYK8) -> Int -> PixelCMYK8 -> m () # | |||||
Show PixelCMYK8 # | |||||
Defined in Codec.Picture.Types Methods showsPrec :: Int -> PixelCMYK8 -> ShowS # show :: PixelCMYK8 -> String # showList :: [PixelCMYK8] -> ShowS # | |||||
Eq PixelCMYK8 # | |||||
Defined in Codec.Picture.Types | |||||
Ord PixelCMYK8 # | |||||
Defined in Codec.Picture.Types Methods compare :: PixelCMYK8 -> PixelCMYK8 -> Ordering # (<) :: PixelCMYK8 -> PixelCMYK8 -> Bool # (<=) :: PixelCMYK8 -> PixelCMYK8 -> Bool # (>) :: PixelCMYK8 -> PixelCMYK8 -> Bool # (>=) :: PixelCMYK8 -> PixelCMYK8 -> Bool # max :: PixelCMYK8 -> PixelCMYK8 -> PixelCMYK8 # min :: PixelCMYK8 -> PixelCMYK8 -> PixelCMYK8 # | |||||
ColorPlane PixelCMYK8 PlaneBlack # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneBlack -> Int | |||||
ColorPlane PixelCMYK8 PlaneCyan # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneCyan -> Int | |||||
ColorPlane PixelCMYK8 PlaneMagenta # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneMagenta -> Int | |||||
ColorPlane PixelCMYK8 PlaneYellow # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneYellow -> Int | |||||
ColorSpaceConvertible PixelCMYK8 PixelRGB8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelCMYK8 -> PixelRGB8 # convertImage :: Image PixelCMYK8 -> Image PixelRGB8 # | |||||
ColorSpaceConvertible PixelRGB8 PixelCMYK8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelRGB8 -> PixelCMYK8 # convertImage :: Image PixelRGB8 -> Image PixelCMYK8 # | |||||
ColorSpaceConvertible PixelYCbCrK8 PixelCMYK8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelYCbCrK8 -> PixelCMYK8 # | |||||
type PackedRepresentation PixelCMYK8 # | |||||
Defined in Codec.Picture.Types | |||||
type PixelBaseComponent PixelCMYK8 # | |||||
Defined in Codec.Picture.Types |
data PixelCMYK16 #
Pixel type storing 16bit cyan, magenta, yellow and black (CMYK) information. Values are stored in the following order:
- Cyan
- Magenta
- Yellow
- Black
Constructors
PixelCMYK16 !Pixel16 !Pixel16 !Pixel16 !Pixel16 |
Instances
TiffSaveable PixelCMYK16 # | |||||
Defined in Codec.Picture.Tiff Methods colorSpaceOfPixel :: PixelCMYK16 -> TiffColorspace extraSampleCodeOfPixel :: PixelCMYK16 -> Maybe ExtraSample subSamplingInfo :: PixelCMYK16 -> Vector Word32 sampleFormat :: PixelCMYK16 -> [TiffSampleFormat] | |||||
PackeablePixel PixelCMYK16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods packPixel :: PixelCMYK16 -> PackedRepresentation PixelCMYK16 # unpackPixel :: PackedRepresentation PixelCMYK16 -> PixelCMYK16 # | |||||
Pixel PixelCMYK16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16) -> PixelCMYK16 -> PixelCMYK16 -> PixelCMYK16 # mixWithAlpha :: (Int -> PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16) -> (PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16) -> PixelCMYK16 -> PixelCMYK16 -> PixelCMYK16 # pixelOpacity :: PixelCMYK16 -> PixelBaseComponent PixelCMYK16 # componentCount :: PixelCMYK16 -> Int # colorMap :: (PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16) -> PixelCMYK16 -> PixelCMYK16 # pixelBaseIndex :: Image PixelCMYK16 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelCMYK16 -> Int -> Int -> Int # pixelAt :: Image PixelCMYK16 -> Int -> Int -> PixelCMYK16 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelCMYK16 -> Int -> Int -> m PixelCMYK16 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelCMYK16 -> Int -> Int -> PixelCMYK16 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelCMYK16) -> Int -> PixelCMYK16 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelCMYK16) -> Int -> m PixelCMYK16 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelCMYK16) -> Int -> PixelCMYK16 -> m () # | |||||
Show PixelCMYK16 # | |||||
Defined in Codec.Picture.Types Methods showsPrec :: Int -> PixelCMYK16 -> ShowS # show :: PixelCMYK16 -> String # showList :: [PixelCMYK16] -> ShowS # | |||||
Eq PixelCMYK16 # | |||||
Defined in Codec.Picture.Types | |||||
Ord PixelCMYK16 # | |||||
Defined in Codec.Picture.Types Methods compare :: PixelCMYK16 -> PixelCMYK16 -> Ordering # (<) :: PixelCMYK16 -> PixelCMYK16 -> Bool # (<=) :: PixelCMYK16 -> PixelCMYK16 -> Bool # (>) :: PixelCMYK16 -> PixelCMYK16 -> Bool # (>=) :: PixelCMYK16 -> PixelCMYK16 -> Bool # max :: PixelCMYK16 -> PixelCMYK16 -> PixelCMYK16 # min :: PixelCMYK16 -> PixelCMYK16 -> PixelCMYK16 # | |||||
ColorPlane PixelCMYK16 PlaneBlack # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneBlack -> Int | |||||
ColorPlane PixelCMYK16 PlaneCyan # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneCyan -> Int | |||||
ColorPlane PixelCMYK16 PlaneMagenta # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneMagenta -> Int | |||||
ColorPlane PixelCMYK16 PlaneYellow # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneYellow -> Int | |||||
ColorSpaceConvertible PixelCMYK16 PixelRGB16 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelCMYK16 -> PixelRGB16 # convertImage :: Image PixelCMYK16 -> Image PixelRGB16 # | |||||
ColorSpaceConvertible PixelRGB16 PixelCMYK16 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelRGB16 -> PixelCMYK16 # convertImage :: Image PixelRGB16 -> Image PixelCMYK16 # | |||||
type PackedRepresentation PixelCMYK16 # | |||||
Defined in Codec.Picture.Types | |||||
type PixelBaseComponent PixelCMYK16 # | |||||
Defined in Codec.Picture.Types |
data PixelYCbCr8 #
Pixel type storing 8bit luminance, blue difference and red difference (YCbCr) information. Values are stored in the following order:
- Y (luminance)
- Cb
- Cr
Constructors
PixelYCbCr8 !Pixel8 !Pixel8 !Pixel8 |
Instances
JpgEncodable PixelYCbCr8 # | |||||
Defined in Codec.Picture.Jpg Methods additionalBlocks :: Image PixelYCbCr8 -> [JpgFrame] componentsOfColorSpace :: Image PixelYCbCr8 -> [JpgComponent] encodingState :: Int -> Image PixelYCbCr8 -> Vector EncoderState imageHuffmanTables :: Image PixelYCbCr8 -> [(JpgHuffmanTableSpec, HuffmanPackedTree)] scanSpecificationOfColorSpace :: Image PixelYCbCr8 -> [JpgScanSpecification] quantTableSpec :: Image PixelYCbCr8 -> Int -> [JpgQuantTableSpec] | |||||
TiffSaveable PixelYCbCr8 # | |||||
Defined in Codec.Picture.Tiff Methods colorSpaceOfPixel :: PixelYCbCr8 -> TiffColorspace extraSampleCodeOfPixel :: PixelYCbCr8 -> Maybe ExtraSample subSamplingInfo :: PixelYCbCr8 -> Vector Word32 sampleFormat :: PixelYCbCr8 -> [TiffSampleFormat] | |||||
LumaPlaneExtractable PixelYCbCr8 # | |||||
Defined in Codec.Picture.Types Methods computeLuma :: PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8 # extractLumaPlane :: Image PixelYCbCr8 -> Image (PixelBaseComponent PixelYCbCr8) # | |||||
Pixel PixelYCbCr8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8) -> PixelYCbCr8 -> PixelYCbCr8 -> PixelYCbCr8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8) -> (PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8) -> PixelYCbCr8 -> PixelYCbCr8 -> PixelYCbCr8 # pixelOpacity :: PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8 # componentCount :: PixelYCbCr8 -> Int # colorMap :: (PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8) -> PixelYCbCr8 -> PixelYCbCr8 # pixelBaseIndex :: Image PixelYCbCr8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelYCbCr8 -> Int -> Int -> Int # pixelAt :: Image PixelYCbCr8 -> Int -> Int -> PixelYCbCr8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelYCbCr8 -> Int -> Int -> m PixelYCbCr8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelYCbCr8 -> Int -> Int -> PixelYCbCr8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelYCbCr8) -> Int -> PixelYCbCr8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYCbCr8) -> Int -> m PixelYCbCr8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYCbCr8) -> Int -> PixelYCbCr8 -> m () # | |||||
Show PixelYCbCr8 # | |||||
Defined in Codec.Picture.Types Methods showsPrec :: Int -> PixelYCbCr8 -> ShowS # show :: PixelYCbCr8 -> String # showList :: [PixelYCbCr8] -> ShowS # | |||||
Eq PixelYCbCr8 # | |||||
Defined in Codec.Picture.Types | |||||
Ord PixelYCbCr8 # | |||||
Defined in Codec.Picture.Types Methods compare :: PixelYCbCr8 -> PixelYCbCr8 -> Ordering # (<) :: PixelYCbCr8 -> PixelYCbCr8 -> Bool # (<=) :: PixelYCbCr8 -> PixelYCbCr8 -> Bool # (>) :: PixelYCbCr8 -> PixelYCbCr8 -> Bool # (>=) :: PixelYCbCr8 -> PixelYCbCr8 -> Bool # max :: PixelYCbCr8 -> PixelYCbCr8 -> PixelYCbCr8 # min :: PixelYCbCr8 -> PixelYCbCr8 -> PixelYCbCr8 # | |||||
ColorPlane PixelYCbCr8 PlaneCb # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYCbCr8 -> PlaneCb -> Int | |||||
ColorPlane PixelYCbCr8 PlaneCr # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYCbCr8 -> PlaneCr -> Int | |||||
ColorPlane PixelYCbCr8 PlaneLuma # | |||||
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYCbCr8 -> PlaneLuma -> Int | |||||
ColorSpaceConvertible PixelRGB8 PixelYCbCr8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelRGB8 -> PixelYCbCr8 # convertImage :: Image PixelRGB8 -> Image PixelYCbCr8 # | |||||
ColorSpaceConvertible PixelYCbCr8 PixelRGB8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelYCbCr8 -> PixelRGB8 # convertImage :: Image PixelYCbCr8 -> Image PixelRGB8 # | |||||
type PixelBaseComponent PixelYCbCr8 # | |||||
Defined in Codec.Picture.Types |
data PixelYCbCrK8 #
Pixel type storing value for the YCCK color space:
- Y (Luminance)
- Cb
- Cr
- Black
Constructors
PixelYCbCrK8 !Pixel8 !Pixel8 !Pixel8 !Pixel8 |
Instances
Pixel PixelYCbCrK8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8) -> PixelYCbCrK8 -> PixelYCbCrK8 -> PixelYCbCrK8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8) -> (PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8) -> PixelYCbCrK8 -> PixelYCbCrK8 -> PixelYCbCrK8 # pixelOpacity :: PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8 # componentCount :: PixelYCbCrK8 -> Int # colorMap :: (PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8) -> PixelYCbCrK8 -> PixelYCbCrK8 # pixelBaseIndex :: Image PixelYCbCrK8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelYCbCrK8 -> Int -> Int -> Int # pixelAt :: Image PixelYCbCrK8 -> Int -> Int -> PixelYCbCrK8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelYCbCrK8 -> Int -> Int -> m PixelYCbCrK8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelYCbCrK8 -> Int -> Int -> PixelYCbCrK8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelYCbCrK8) -> Int -> PixelYCbCrK8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYCbCrK8) -> Int -> m PixelYCbCrK8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYCbCrK8) -> Int -> PixelYCbCrK8 -> m () # | |||||
Show PixelYCbCrK8 # | |||||
Defined in Codec.Picture.Types Methods showsPrec :: Int -> PixelYCbCrK8 -> ShowS # show :: PixelYCbCrK8 -> String # showList :: [PixelYCbCrK8] -> ShowS # | |||||
Eq PixelYCbCrK8 # | |||||
Defined in Codec.Picture.Types | |||||
Ord PixelYCbCrK8 # | |||||
Defined in Codec.Picture.Types Methods compare :: PixelYCbCrK8 -> PixelYCbCrK8 -> Ordering # (<) :: PixelYCbCrK8 -> PixelYCbCrK8 -> Bool # (<=) :: PixelYCbCrK8 -> PixelYCbCrK8 -> Bool # (>) :: PixelYCbCrK8 -> PixelYCbCrK8 -> Bool # (>=) :: PixelYCbCrK8 -> PixelYCbCrK8 -> Bool # max :: PixelYCbCrK8 -> PixelYCbCrK8 -> PixelYCbCrK8 # min :: PixelYCbCrK8 -> PixelYCbCrK8 -> PixelYCbCrK8 # | |||||
ColorSpaceConvertible PixelYCbCrK8 PixelCMYK8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelYCbCrK8 -> PixelCMYK8 # | |||||
ColorSpaceConvertible PixelYCbCrK8 PixelRGB8 # | |||||
Defined in Codec.Picture.Types Methods convertPixel :: PixelYCbCrK8 -> PixelRGB8 # convertImage :: Image PixelYCbCrK8 -> Image PixelRGB8 # | |||||
type PixelBaseComponent PixelYCbCrK8 # | |||||
Defined in Codec.Picture.Types |
Type classes
class (Pixel a, Pixel b) => ColorConvertible a b where #
Implement upcasting for pixel types.
Minimal declaration of promotePixel
.
It is strongly recommended to overload promoteImage to keep
performance acceptable
Minimal complete definition
Methods
promotePixel :: a -> b #
Convert a pixel type to another pixel type. This operation should never lose any data.
promoteImage :: Image a -> Image b #
Change the underlying pixel type of an image by performing a full copy of it.
Instances
ColorConvertible Pixel16 PixelRGB16 # | |
Defined in Codec.Picture.Types | |
ColorConvertible Pixel16 PixelRGBA16 # | |
Defined in Codec.Picture.Types | |
ColorConvertible Pixel16 PixelYA16 # | |
Defined in Codec.Picture.Types | |
ColorConvertible Pixel8 Pixel16 # | |
Defined in Codec.Picture.Types | |
ColorConvertible Pixel8 PixelF # | |
Defined in Codec.Picture.Types | |
ColorConvertible Pixel8 PixelRGB16 # | |
Defined in Codec.Picture.Types | |
ColorConvertible Pixel8 PixelRGB8 # | |
Defined in Codec.Picture.Types | |
ColorConvertible Pixel8 PixelRGBA8 # | |
Defined in Codec.Picture.Types | |
ColorConvertible Pixel8 PixelYA8 # | |
Defined in Codec.Picture.Types | |
ColorConvertible PixelF PixelRGBF # | |
Defined in Codec.Picture.Types | |
ColorConvertible PixelRGB16 PixelRGBA16 # | |
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB16 -> PixelRGBA16 # promoteImage :: Image PixelRGB16 -> Image PixelRGBA16 # | |
ColorConvertible PixelRGB8 PixelRGB16 # | |
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB8 -> PixelRGB16 # promoteImage :: Image PixelRGB8 -> Image PixelRGB16 # | |
ColorConvertible PixelRGB8 PixelRGBA16 # | |
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB8 -> PixelRGBA16 # promoteImage :: Image PixelRGB8 -> Image PixelRGBA16 # | |
ColorConvertible PixelRGB8 PixelRGBA8 # | |
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGB8 -> PixelRGBA8 # promoteImage :: Image PixelRGB8 -> Image PixelRGBA8 # | |
ColorConvertible PixelRGB8 PixelRGBF # | |
Defined in Codec.Picture.Types | |
ColorConvertible PixelRGBA8 PixelRGBA16 # | |
Defined in Codec.Picture.Types Methods promotePixel :: PixelRGBA8 -> PixelRGBA16 # promoteImage :: Image PixelRGBA8 -> Image PixelRGBA16 # | |
ColorConvertible PixelYA16 PixelRGB16 # | |
Defined in Codec.Picture.Types Methods promotePixel :: PixelYA16 -> PixelRGB16 # promoteImage :: Image PixelYA16 -> Image PixelRGB16 # | |
ColorConvertible PixelYA16 PixelRGBA16 # | |
Defined in Codec.Picture.Types Methods promotePixel :: PixelYA16 -> PixelRGBA16 # promoteImage :: Image PixelYA16 -> Image PixelRGBA16 # | |
ColorConvertible PixelYA8 PixelRGB16 # | |
Defined in Codec.Picture.Types | |
ColorConvertible PixelYA8 PixelRGB8 # | |
Defined in Codec.Picture.Types | |
ColorConvertible PixelYA8 PixelRGBA8 # | |
Defined in Codec.Picture.Types | |
Pixel a => ColorConvertible a a # | Free promotion for identic pixel types |
Defined in Codec.Picture.Types |
class (Storable (PixelBaseComponent a), Num (PixelBaseComponent a), Eq a) => Pixel a where #
Definition of pixels used in images. Each pixel has a color space, and a representative component (Word8 or Float).
Minimal complete definition
mixWith, pixelOpacity, componentCount, colorMap, pixelAt, readPixel, writePixel, unsafePixelAt, unsafeReadPixel, unsafeWritePixel
Associated Types
type PixelBaseComponent a #
Type of the pixel component, "classical" images would have Word8 type as their PixelBaseComponent, HDR image would have Float for instance
Methods
mixWith :: (Int -> PixelBaseComponent a -> PixelBaseComponent a -> PixelBaseComponent a) -> a -> a -> a #
Call the function for every component of the pixels. For example for RGB pixels mixWith is declared like this:
mixWith f (PixelRGB8 ra ga ba) (PixelRGB8 rb gb bb) = PixelRGB8 (f 0 ra rb) (f 1 ga gb) (f 2 ba bb)
Arguments
:: (Int -> PixelBaseComponent a -> PixelBaseComponent a -> PixelBaseComponent a) | Function for color component |
-> (PixelBaseComponent a -> PixelBaseComponent a -> PixelBaseComponent a) | Function for alpha component |
-> a | |
-> a | |
-> a |
Extension of the mixWith
which separate the treatment
of the color components of the alpha value (transparency component).
For pixel without alpha components, it is equivalent to mixWith.
mixWithAlpha f fa (PixelRGBA8 ra ga ba aa) (PixelRGB8 rb gb bb ab) = PixelRGBA8 (f 0 ra rb) (f 1 ga gb) (f 2 ba bb) (fa aa ab)
pixelOpacity :: a -> PixelBaseComponent a #
Return the opacity of a pixel, if the pixel has an alpha layer, return the alpha value. If the pixel doesn't have an alpha value, return a value representing the opaqueness.
componentCount :: a -> Int #
Return the number of components of the pixel
colorMap :: (PixelBaseComponent a -> PixelBaseComponent a) -> a -> a #
Apply a function to each component of a pixel. If the color type possess an alpha (transparency channel), it is treated like the other color components.
pixelBaseIndex :: Image a -> Int -> Int -> Int #
Calculate the index for the begining of the pixel
mutablePixelBaseIndex :: MutableImage s a -> Int -> Int -> Int #
Calculate theindex for the begining of the pixel at position x y
pixelAt :: Image a -> Int -> Int -> a #
Extract a pixel at a given position, (x, y), the origin is assumed to be at the corner top left, positive y to the bottom of the image
readPixel :: PrimMonad m => MutableImage (PrimState m) a -> Int -> Int -> m a #
Same as pixelAt but for mutable images.
writePixel :: PrimMonad m => MutableImage (PrimState m) a -> Int -> Int -> a -> m () #
Write a pixel in a mutable image at position x y
unsafePixelAt :: Vector (PixelBaseComponent a) -> Int -> a #
Unsafe version of pixelAt, read a pixel at the given index without bound checking (if possible). The index is expressed in number (PixelBaseComponent a)
unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent a) -> Int -> m a #
Unsafe version of readPixel, read a pixel at the given position without bound checking (if possible). The index is expressed in number (PixelBaseComponent a)
unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent a) -> Int -> a -> m () #
Unsafe version of writePixel, write a pixel at the given position without bound checking. This can be _really_ unsafe. The index is expressed in number (PixelBaseComponent a)
Instances
Pixel Pixel16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent Pixel16 -> PixelBaseComponent Pixel16 -> PixelBaseComponent Pixel16) -> Pixel16 -> Pixel16 -> Pixel16 # mixWithAlpha :: (Int -> PixelBaseComponent Pixel16 -> PixelBaseComponent Pixel16 -> PixelBaseComponent Pixel16) -> (PixelBaseComponent Pixel16 -> PixelBaseComponent Pixel16 -> PixelBaseComponent Pixel16) -> Pixel16 -> Pixel16 -> Pixel16 # pixelOpacity :: Pixel16 -> PixelBaseComponent Pixel16 # componentCount :: Pixel16 -> Int # colorMap :: (PixelBaseComponent Pixel16 -> PixelBaseComponent Pixel16) -> Pixel16 -> Pixel16 # pixelBaseIndex :: Image Pixel16 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s Pixel16 -> Int -> Int -> Int # pixelAt :: Image Pixel16 -> Int -> Int -> Pixel16 # readPixel :: PrimMonad m => MutableImage (PrimState m) Pixel16 -> Int -> Int -> m Pixel16 # writePixel :: PrimMonad m => MutableImage (PrimState m) Pixel16 -> Int -> Int -> Pixel16 -> m () # unsafePixelAt :: Vector (PixelBaseComponent Pixel16) -> Int -> Pixel16 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent Pixel16) -> Int -> m Pixel16 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent Pixel16) -> Int -> Pixel16 -> m () # | |||||
Pixel Pixel32 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32) -> Pixel32 -> Pixel32 -> Pixel32 # mixWithAlpha :: (Int -> PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32) -> (PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32) -> Pixel32 -> Pixel32 -> Pixel32 # pixelOpacity :: Pixel32 -> PixelBaseComponent Pixel32 # componentCount :: Pixel32 -> Int # colorMap :: (PixelBaseComponent Pixel32 -> PixelBaseComponent Pixel32) -> Pixel32 -> Pixel32 # pixelBaseIndex :: Image Pixel32 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s Pixel32 -> Int -> Int -> Int # pixelAt :: Image Pixel32 -> Int -> Int -> Pixel32 # readPixel :: PrimMonad m => MutableImage (PrimState m) Pixel32 -> Int -> Int -> m Pixel32 # writePixel :: PrimMonad m => MutableImage (PrimState m) Pixel32 -> Int -> Int -> Pixel32 -> m () # unsafePixelAt :: Vector (PixelBaseComponent Pixel32) -> Int -> Pixel32 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent Pixel32) -> Int -> m Pixel32 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent Pixel32) -> Int -> Pixel32 -> m () # | |||||
Pixel Pixel8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent Pixel8 -> PixelBaseComponent Pixel8 -> PixelBaseComponent Pixel8) -> Pixel8 -> Pixel8 -> Pixel8 # mixWithAlpha :: (Int -> PixelBaseComponent Pixel8 -> PixelBaseComponent Pixel8 -> PixelBaseComponent Pixel8) -> (PixelBaseComponent Pixel8 -> PixelBaseComponent Pixel8 -> PixelBaseComponent Pixel8) -> Pixel8 -> Pixel8 -> Pixel8 # pixelOpacity :: Pixel8 -> PixelBaseComponent Pixel8 # componentCount :: Pixel8 -> Int # colorMap :: (PixelBaseComponent Pixel8 -> PixelBaseComponent Pixel8) -> Pixel8 -> Pixel8 # pixelBaseIndex :: Image Pixel8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s Pixel8 -> Int -> Int -> Int # pixelAt :: Image Pixel8 -> Int -> Int -> Pixel8 # readPixel :: PrimMonad m => MutableImage (PrimState m) Pixel8 -> Int -> Int -> m Pixel8 # writePixel :: PrimMonad m => MutableImage (PrimState m) Pixel8 -> Int -> Int -> Pixel8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent Pixel8) -> Int -> Pixel8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent Pixel8) -> Int -> m Pixel8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent Pixel8) -> Int -> Pixel8 -> m () # | |||||
Pixel PixelCMYK16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16) -> PixelCMYK16 -> PixelCMYK16 -> PixelCMYK16 # mixWithAlpha :: (Int -> PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16) -> (PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16) -> PixelCMYK16 -> PixelCMYK16 -> PixelCMYK16 # pixelOpacity :: PixelCMYK16 -> PixelBaseComponent PixelCMYK16 # componentCount :: PixelCMYK16 -> Int # colorMap :: (PixelBaseComponent PixelCMYK16 -> PixelBaseComponent PixelCMYK16) -> PixelCMYK16 -> PixelCMYK16 # pixelBaseIndex :: Image PixelCMYK16 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelCMYK16 -> Int -> Int -> Int # pixelAt :: Image PixelCMYK16 -> Int -> Int -> PixelCMYK16 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelCMYK16 -> Int -> Int -> m PixelCMYK16 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelCMYK16 -> Int -> Int -> PixelCMYK16 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelCMYK16) -> Int -> PixelCMYK16 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelCMYK16) -> Int -> m PixelCMYK16 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelCMYK16) -> Int -> PixelCMYK16 -> m () # | |||||
Pixel PixelCMYK8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8) -> PixelCMYK8 -> PixelCMYK8 -> PixelCMYK8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8) -> (PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8) -> PixelCMYK8 -> PixelCMYK8 -> PixelCMYK8 # pixelOpacity :: PixelCMYK8 -> PixelBaseComponent PixelCMYK8 # componentCount :: PixelCMYK8 -> Int # colorMap :: (PixelBaseComponent PixelCMYK8 -> PixelBaseComponent PixelCMYK8) -> PixelCMYK8 -> PixelCMYK8 # pixelBaseIndex :: Image PixelCMYK8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelCMYK8 -> Int -> Int -> Int # pixelAt :: Image PixelCMYK8 -> Int -> Int -> PixelCMYK8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelCMYK8 -> Int -> Int -> m PixelCMYK8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelCMYK8 -> Int -> Int -> PixelCMYK8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelCMYK8) -> Int -> PixelCMYK8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelCMYK8) -> Int -> m PixelCMYK8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelCMYK8) -> Int -> PixelCMYK8 -> m () # | |||||
Pixel PixelF # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelF -> PixelBaseComponent PixelF -> PixelBaseComponent PixelF) -> PixelF -> PixelF -> PixelF # mixWithAlpha :: (Int -> PixelBaseComponent PixelF -> PixelBaseComponent PixelF -> PixelBaseComponent PixelF) -> (PixelBaseComponent PixelF -> PixelBaseComponent PixelF -> PixelBaseComponent PixelF) -> PixelF -> PixelF -> PixelF # pixelOpacity :: PixelF -> PixelBaseComponent PixelF # componentCount :: PixelF -> Int # colorMap :: (PixelBaseComponent PixelF -> PixelBaseComponent PixelF) -> PixelF -> PixelF # pixelBaseIndex :: Image PixelF -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelF -> Int -> Int -> Int # pixelAt :: Image PixelF -> Int -> Int -> PixelF # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelF -> Int -> Int -> m PixelF # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelF -> Int -> Int -> PixelF -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelF) -> Int -> PixelF # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelF) -> Int -> m PixelF # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelF) -> Int -> PixelF -> m () # | |||||
Pixel PixelRGB16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16) -> PixelRGB16 -> PixelRGB16 -> PixelRGB16 # mixWithAlpha :: (Int -> PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16) -> (PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16) -> PixelRGB16 -> PixelRGB16 -> PixelRGB16 # pixelOpacity :: PixelRGB16 -> PixelBaseComponent PixelRGB16 # componentCount :: PixelRGB16 -> Int # colorMap :: (PixelBaseComponent PixelRGB16 -> PixelBaseComponent PixelRGB16) -> PixelRGB16 -> PixelRGB16 # pixelBaseIndex :: Image PixelRGB16 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelRGB16 -> Int -> Int -> Int # pixelAt :: Image PixelRGB16 -> Int -> Int -> PixelRGB16 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelRGB16 -> Int -> Int -> m PixelRGB16 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelRGB16 -> Int -> Int -> PixelRGB16 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelRGB16) -> Int -> PixelRGB16 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGB16) -> Int -> m PixelRGB16 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGB16) -> Int -> PixelRGB16 -> m () # | |||||
Pixel PixelRGB8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8) -> PixelRGB8 -> PixelRGB8 -> PixelRGB8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8) -> (PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8) -> PixelRGB8 -> PixelRGB8 -> PixelRGB8 # pixelOpacity :: PixelRGB8 -> PixelBaseComponent PixelRGB8 # componentCount :: PixelRGB8 -> Int # colorMap :: (PixelBaseComponent PixelRGB8 -> PixelBaseComponent PixelRGB8) -> PixelRGB8 -> PixelRGB8 # pixelBaseIndex :: Image PixelRGB8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelRGB8 -> Int -> Int -> Int # pixelAt :: Image PixelRGB8 -> Int -> Int -> PixelRGB8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelRGB8 -> Int -> Int -> m PixelRGB8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelRGB8 -> Int -> Int -> PixelRGB8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelRGB8) -> Int -> PixelRGB8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGB8) -> Int -> m PixelRGB8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGB8) -> Int -> PixelRGB8 -> m () # | |||||
Pixel PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16) -> PixelRGBA16 -> PixelRGBA16 -> PixelRGBA16 # mixWithAlpha :: (Int -> PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16) -> (PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16) -> PixelRGBA16 -> PixelRGBA16 -> PixelRGBA16 # pixelOpacity :: PixelRGBA16 -> PixelBaseComponent PixelRGBA16 # componentCount :: PixelRGBA16 -> Int # colorMap :: (PixelBaseComponent PixelRGBA16 -> PixelBaseComponent PixelRGBA16) -> PixelRGBA16 -> PixelRGBA16 # pixelBaseIndex :: Image PixelRGBA16 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelRGBA16 -> Int -> Int -> Int # pixelAt :: Image PixelRGBA16 -> Int -> Int -> PixelRGBA16 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBA16 -> Int -> Int -> m PixelRGBA16 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBA16 -> Int -> Int -> PixelRGBA16 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelRGBA16) -> Int -> PixelRGBA16 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBA16) -> Int -> m PixelRGBA16 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBA16) -> Int -> PixelRGBA16 -> m () # | |||||
Pixel PixelRGBA8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8) -> PixelRGBA8 -> PixelRGBA8 -> PixelRGBA8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8) -> (PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8) -> PixelRGBA8 -> PixelRGBA8 -> PixelRGBA8 # pixelOpacity :: PixelRGBA8 -> PixelBaseComponent PixelRGBA8 # componentCount :: PixelRGBA8 -> Int # colorMap :: (PixelBaseComponent PixelRGBA8 -> PixelBaseComponent PixelRGBA8) -> PixelRGBA8 -> PixelRGBA8 # pixelBaseIndex :: Image PixelRGBA8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelRGBA8 -> Int -> Int -> Int # pixelAt :: Image PixelRGBA8 -> Int -> Int -> PixelRGBA8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBA8 -> Int -> Int -> m PixelRGBA8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBA8 -> Int -> Int -> PixelRGBA8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelRGBA8) -> Int -> PixelRGBA8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBA8) -> Int -> m PixelRGBA8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBA8) -> Int -> PixelRGBA8 -> m () # | |||||
Pixel PixelRGBF # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF) -> PixelRGBF -> PixelRGBF -> PixelRGBF # mixWithAlpha :: (Int -> PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF) -> (PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF) -> PixelRGBF -> PixelRGBF -> PixelRGBF # pixelOpacity :: PixelRGBF -> PixelBaseComponent PixelRGBF # componentCount :: PixelRGBF -> Int # colorMap :: (PixelBaseComponent PixelRGBF -> PixelBaseComponent PixelRGBF) -> PixelRGBF -> PixelRGBF # pixelBaseIndex :: Image PixelRGBF -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelRGBF -> Int -> Int -> Int # pixelAt :: Image PixelRGBF -> Int -> Int -> PixelRGBF # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBF -> Int -> Int -> m PixelRGBF # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelRGBF -> Int -> Int -> PixelRGBF -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelRGBF) -> Int -> PixelRGBF # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBF) -> Int -> m PixelRGBF # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelRGBF) -> Int -> PixelRGBF -> m () # | |||||
Pixel PixelYA16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16) -> PixelYA16 -> PixelYA16 -> PixelYA16 # mixWithAlpha :: (Int -> PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16) -> (PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16) -> PixelYA16 -> PixelYA16 -> PixelYA16 # pixelOpacity :: PixelYA16 -> PixelBaseComponent PixelYA16 # componentCount :: PixelYA16 -> Int # colorMap :: (PixelBaseComponent PixelYA16 -> PixelBaseComponent PixelYA16) -> PixelYA16 -> PixelYA16 # pixelBaseIndex :: Image PixelYA16 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelYA16 -> Int -> Int -> Int # pixelAt :: Image PixelYA16 -> Int -> Int -> PixelYA16 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelYA16 -> Int -> Int -> m PixelYA16 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelYA16 -> Int -> Int -> PixelYA16 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelYA16) -> Int -> PixelYA16 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYA16) -> Int -> m PixelYA16 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYA16) -> Int -> PixelYA16 -> m () # | |||||
Pixel PixelYA8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelYA8 -> PixelBaseComponent PixelYA8 -> PixelBaseComponent PixelYA8) -> PixelYA8 -> PixelYA8 -> PixelYA8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelYA8 -> PixelBaseComponent PixelYA8 -> PixelBaseComponent PixelYA8) -> (PixelBaseComponent PixelYA8 -> PixelBaseComponent PixelYA8 -> PixelBaseComponent PixelYA8) -> PixelYA8 -> PixelYA8 -> PixelYA8 # pixelOpacity :: PixelYA8 -> PixelBaseComponent PixelYA8 # componentCount :: PixelYA8 -> Int # colorMap :: (PixelBaseComponent PixelYA8 -> PixelBaseComponent PixelYA8) -> PixelYA8 -> PixelYA8 # pixelBaseIndex :: Image PixelYA8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelYA8 -> Int -> Int -> Int # pixelAt :: Image PixelYA8 -> Int -> Int -> PixelYA8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelYA8 -> Int -> Int -> m PixelYA8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelYA8 -> Int -> Int -> PixelYA8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelYA8) -> Int -> PixelYA8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYA8) -> Int -> m PixelYA8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYA8) -> Int -> PixelYA8 -> m () # | |||||
Pixel PixelYCbCr8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8) -> PixelYCbCr8 -> PixelYCbCr8 -> PixelYCbCr8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8) -> (PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8) -> PixelYCbCr8 -> PixelYCbCr8 -> PixelYCbCr8 # pixelOpacity :: PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8 # componentCount :: PixelYCbCr8 -> Int # colorMap :: (PixelBaseComponent PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8) -> PixelYCbCr8 -> PixelYCbCr8 # pixelBaseIndex :: Image PixelYCbCr8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelYCbCr8 -> Int -> Int -> Int # pixelAt :: Image PixelYCbCr8 -> Int -> Int -> PixelYCbCr8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelYCbCr8 -> Int -> Int -> m PixelYCbCr8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelYCbCr8 -> Int -> Int -> PixelYCbCr8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelYCbCr8) -> Int -> PixelYCbCr8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYCbCr8) -> Int -> m PixelYCbCr8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYCbCr8) -> Int -> PixelYCbCr8 -> m () # | |||||
Pixel PixelYCbCrK8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods mixWith :: (Int -> PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8) -> PixelYCbCrK8 -> PixelYCbCrK8 -> PixelYCbCrK8 # mixWithAlpha :: (Int -> PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8) -> (PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8) -> PixelYCbCrK8 -> PixelYCbCrK8 -> PixelYCbCrK8 # pixelOpacity :: PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8 # componentCount :: PixelYCbCrK8 -> Int # colorMap :: (PixelBaseComponent PixelYCbCrK8 -> PixelBaseComponent PixelYCbCrK8) -> PixelYCbCrK8 -> PixelYCbCrK8 # pixelBaseIndex :: Image PixelYCbCrK8 -> Int -> Int -> Int # mutablePixelBaseIndex :: MutableImage s PixelYCbCrK8 -> Int -> Int -> Int # pixelAt :: Image PixelYCbCrK8 -> Int -> Int -> PixelYCbCrK8 # readPixel :: PrimMonad m => MutableImage (PrimState m) PixelYCbCrK8 -> Int -> Int -> m PixelYCbCrK8 # writePixel :: PrimMonad m => MutableImage (PrimState m) PixelYCbCrK8 -> Int -> Int -> PixelYCbCrK8 -> m () # unsafePixelAt :: Vector (PixelBaseComponent PixelYCbCrK8) -> Int -> PixelYCbCrK8 # unsafeReadPixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYCbCrK8) -> Int -> m PixelYCbCrK8 # unsafeWritePixel :: PrimMonad m => STVector (PrimState m) (PixelBaseComponent PixelYCbCrK8) -> Int -> PixelYCbCrK8 -> m () # |
The following graph describe the differents way to convert between pixel types,
- Nodes describe pixel type
- Arrows describe functions
class (Pixel a, Pixel b) => ColorSpaceConvertible a b where #
This class abstract colorspace conversion. This conversion can be lossy, which ColorConvertible cannot
Minimal complete definition
Methods
convertPixel :: a -> b #
Pass a pixel from a colorspace (say RGB) to the second one (say YCbCr)
convertImage :: Image a -> Image b #
Helper function to convert a whole image by taking a copy it.
Instances
ColorSpaceConvertible PixelCMYK16 PixelRGB16 # | |
Defined in Codec.Picture.Types Methods convertPixel :: PixelCMYK16 -> PixelRGB16 # convertImage :: Image PixelCMYK16 -> Image PixelRGB16 # | |
ColorSpaceConvertible PixelCMYK8 PixelRGB8 # | |
Defined in Codec.Picture.Types Methods convertPixel :: PixelCMYK8 -> PixelRGB8 # convertImage :: Image PixelCMYK8 -> Image PixelRGB8 # | |
ColorSpaceConvertible PixelRGB16 PixelCMYK16 # | |
Defined in Codec.Picture.Types Methods convertPixel :: PixelRGB16 -> PixelCMYK16 # convertImage :: Image PixelRGB16 -> Image PixelCMYK16 # | |
ColorSpaceConvertible PixelRGB8 PixelCMYK8 # | |
Defined in Codec.Picture.Types Methods convertPixel :: PixelRGB8 -> PixelCMYK8 # convertImage :: Image PixelRGB8 -> Image PixelCMYK8 # | |
ColorSpaceConvertible PixelRGB8 PixelYCbCr8 # | |
Defined in Codec.Picture.Types Methods convertPixel :: PixelRGB8 -> PixelYCbCr8 # convertImage :: Image PixelRGB8 -> Image PixelYCbCr8 # | |
ColorSpaceConvertible PixelYCbCr8 PixelRGB8 # | |
Defined in Codec.Picture.Types Methods convertPixel :: PixelYCbCr8 -> PixelRGB8 # convertImage :: Image PixelYCbCr8 -> Image PixelRGB8 # | |
ColorSpaceConvertible PixelYCbCrK8 PixelCMYK8 # | |
Defined in Codec.Picture.Types Methods convertPixel :: PixelYCbCrK8 -> PixelCMYK8 # | |
ColorSpaceConvertible PixelYCbCrK8 PixelRGB8 # | |
Defined in Codec.Picture.Types Methods convertPixel :: PixelYCbCrK8 -> PixelRGB8 # convertImage :: Image PixelYCbCrK8 -> Image PixelRGB8 # | |
Pixel a => ColorSpaceConvertible a a # | |
Defined in Codec.Picture.Types |
class (Pixel a, Pixel (PixelBaseComponent a)) => LumaPlaneExtractable a where #
Helper class to help extract a luma plane out of an image or a pixel
Minimal complete definition
Methods
computeLuma :: a -> PixelBaseComponent a #
Compute the luminance part of a pixel
extractLumaPlane :: Image a -> Image (PixelBaseComponent a) #
Extract a luma plane out of an image. This method is in the typeclass to help performant implementation.
jpegToGrayScale :: FilePath -> FilePath -> IO () jpegToGrayScale source dest
Instances
LumaPlaneExtractable Pixel16 # | |
Defined in Codec.Picture.Types Methods computeLuma :: Pixel16 -> PixelBaseComponent Pixel16 # extractLumaPlane :: Image Pixel16 -> Image (PixelBaseComponent Pixel16) # | |
LumaPlaneExtractable Pixel32 # | |
Defined in Codec.Picture.Types Methods computeLuma :: Pixel32 -> PixelBaseComponent Pixel32 # extractLumaPlane :: Image Pixel32 -> Image (PixelBaseComponent Pixel32) # | |
LumaPlaneExtractable Pixel8 # | |
Defined in Codec.Picture.Types Methods computeLuma :: Pixel8 -> PixelBaseComponent Pixel8 # extractLumaPlane :: Image Pixel8 -> Image (PixelBaseComponent Pixel8) # | |
LumaPlaneExtractable PixelF # | |
Defined in Codec.Picture.Types Methods computeLuma :: PixelF -> PixelBaseComponent PixelF # extractLumaPlane :: Image PixelF -> Image (PixelBaseComponent PixelF) # | |
LumaPlaneExtractable PixelRGB16 # | |
Defined in Codec.Picture.Types Methods computeLuma :: PixelRGB16 -> PixelBaseComponent PixelRGB16 # extractLumaPlane :: Image PixelRGB16 -> Image (PixelBaseComponent PixelRGB16) # | |
LumaPlaneExtractable PixelRGB8 # | |
Defined in Codec.Picture.Types Methods computeLuma :: PixelRGB8 -> PixelBaseComponent PixelRGB8 # extractLumaPlane :: Image PixelRGB8 -> Image (PixelBaseComponent PixelRGB8) # | |
LumaPlaneExtractable PixelRGBA8 # | |
Defined in Codec.Picture.Types Methods computeLuma :: PixelRGBA8 -> PixelBaseComponent PixelRGBA8 # extractLumaPlane :: Image PixelRGBA8 -> Image (PixelBaseComponent PixelRGBA8) # | |
LumaPlaneExtractable PixelRGBF # | |
Defined in Codec.Picture.Types Methods computeLuma :: PixelRGBF -> PixelBaseComponent PixelRGBF # extractLumaPlane :: Image PixelRGBF -> Image (PixelBaseComponent PixelRGBF) # | |
LumaPlaneExtractable PixelYA8 # | |
Defined in Codec.Picture.Types Methods computeLuma :: PixelYA8 -> PixelBaseComponent PixelYA8 # extractLumaPlane :: Image PixelYA8 -> Image (PixelBaseComponent PixelYA8) # | |
LumaPlaneExtractable PixelYCbCr8 # | |
Defined in Codec.Picture.Types Methods computeLuma :: PixelYCbCr8 -> PixelBaseComponent PixelYCbCr8 # extractLumaPlane :: Image PixelYCbCr8 -> Image (PixelBaseComponent PixelYCbCr8) # |
class (Pixel a, Pixel b) => TransparentPixel a b | a -> b where #
Class modeling transparent pixel, should provide a method to combine transparent pixels
Methods
dropTransparency :: a -> b #
Just return the opaque pixel value
getTransparency :: a -> PixelBaseComponent a #
Deprecated: please use pixelOpacity
instead
access the transparency (alpha layer) of a given transparent pixel type.
Instances
TransparentPixel PixelRGBA16 PixelRGB16 # | |
Defined in Codec.Picture.Types Methods dropTransparency :: PixelRGBA16 -> PixelRGB16 # getTransparency :: PixelRGBA16 -> PixelBaseComponent PixelRGBA16 # | |
TransparentPixel PixelRGBA8 PixelRGB8 # | |
Defined in Codec.Picture.Types Methods dropTransparency :: PixelRGBA8 -> PixelRGB8 # getTransparency :: PixelRGBA8 -> PixelBaseComponent PixelRGBA8 # | |
TransparentPixel PixelYA16 Pixel16 # | |
Defined in Codec.Picture.Types Methods dropTransparency :: PixelYA16 -> Pixel16 # getTransparency :: PixelYA16 -> PixelBaseComponent PixelYA16 # | |
TransparentPixel PixelYA8 Pixel8 # | |
Defined in Codec.Picture.Types Methods dropTransparency :: PixelYA8 -> Pixel8 # getTransparency :: PixelYA8 -> PixelBaseComponent PixelYA8 # |
Helper functions
pixelMap :: (Pixel a, Pixel b) => (a -> b) -> Image a -> Image b #
map
equivalent for an image, working at the pixel level.
Little example : a brightness function for an rgb image
brightnessRGB8 :: Int -> Image PixelRGB8 -> Image PixelRGB8 brightnessRGB8 add = pixelMap brightFunction where up v = fromIntegral (fromIntegral v + add) brightFunction (PixelRGB8 r g b) = PixelRGB8 (up r) (up g) (up b)
pixelMapXY :: (Pixel a, Pixel b) => (Int -> Int -> a -> b) -> Image a -> Image b #
Just like pixelMap
only the function takes the pixel coordinates as
additional parameters.
pixelFold :: forall acc pixel. Pixel pixel => (acc -> Int -> Int -> pixel -> acc) -> acc -> Image pixel -> acc #
Fold over the pixel of an image with a raster scan order: from top to bottom, left to right
Arguments
:: (Pixel pixel, Monad m) | |
=> (acc -> Int -> Int -> pixel -> m acc) | monadic mapping function |
-> acc | Initial state |
-> Image pixel | Image to fold over |
-> m acc |
Fold over the pixel of an image with a raster scan order: from top to bottom, left to right, carrying out a state
pixelFoldMap :: forall m px. (Pixel px, Monoid m) => (px -> m) -> Image px -> m #
Fold over the pixel of an image with a raster scan order:
from top to bottom, left to right. This functions is analog
to the foldMap from the Foldable
typeclass, but due to the
Pixel constraint, Image cannot be made an instance of it.
dynamicMap :: (forall pixel. Pixel pixel => Image pixel -> a) -> DynamicImage -> a #
Helper function to help extract information from dynamic image. To get the width of a dynamic image, you can use the following snippet:
dynWidth :: DynamicImage -> Int dynWidth img = dynamicMap imageWidth img
dynamicPixelMap :: (forall pixel. Pixel pixel => Image pixel -> Image pixel) -> DynamicImage -> DynamicImage #
Equivalent of the pixelMap
function for the dynamic images.
You can perform pixel colorspace independant operations with this
function.
For instance, if you want to extract a square crop of any image, without caring about colorspace, you can use the following snippet.
dynSquare :: DynamicImage -> DynamicImage dynSquare = dynamicPixelMap squareImage squareImage :: Pixel a => Image a -> Image a squareImage img = generateImage (\x y -> pixelAt img x y) edge edge where edge = min (imageWidth img) (imageHeight img)
palettedToTrueColor :: PalettedImage -> DynamicImage #
Flatten a PalettedImage to a DynamicImage
palettedAsImage :: Palette' px -> Image px #
Convert a palette to an image. Used mainly for backward compatibility.
dropAlphaLayer :: TransparentPixel a b => Image a -> Image b #
For any image with an alpha component (transparency), drop it, returning a pure opaque image.
Arguments
:: forall m pixel. (Pixel pixel, PrimMonad m) | |
=> Int | Image width |
-> Int | Image height |
-> (Int -> Int -> m pixel) | Generating functions |
-> m (Image pixel) |
Create an image using a monadic initializer function. The function will receive values from 0 to width-1 for the x parameter and 0 to height-1 for the y parameter. The coordinates 0,0 are the upper left corner of the image, and (width-1, height-1) the lower right corner.
The function is called for each pixel in the line from left to right (0 to width - 1) and for each line (0 to height - 1).
zipPixelComponent3 :: Storable (PixelBaseComponent px) => (PixelBaseComponent px -> PixelBaseComponent px -> PixelBaseComponent px -> PixelBaseComponent px) -> Image px -> Image px -> Image px -> Image px #
Combine, pixel by pixel and component by component the values of 3 different images. Usage example:
averageBrightNess c1 c2 c3 = clamp $ toInt c1 + toInt c2 + toInt c3 where clamp = fromIntegral . min 0 . max 255 toInt :: a -> Int toInt = fromIntegral ziPixelComponent3 averageBrightNess img1 img2 img3
Arguments
:: Pixel px | |
=> (Int -> Int -> px) | Generating function, with |
-> Int | Width in pixels |
-> Int | Height in pixels |
-> Image px |
Create an image given a function to generate pixels. The function will receive values from 0 to width-1 for the x parameter and 0 to height-1 for the y parameter. The coordinates 0,0 are the upper left corner of the image, and (width-1, height-1) the lower right corner.
for example, to create a small gradient image:
imageCreator :: String -> IO () imageCreator path = writePng path $ generateImage pixelRenderer 250 300 where pixelRenderer x y = PixelRGB8 (fromIntegral x) (fromIntegral y) 128
Arguments
:: Pixel a | |
=> (acc -> Int -> Int -> (acc, a)) | Function taking the state, x and y |
-> acc | Initial state |
-> Int | Width in pixels |
-> Int | Height in pixels |
-> (acc, Image a) |
Create an image given a function to generate pixels. The function will receive values from 0 to width-1 for the x parameter and 0 to height-1 for the y parameter. The coordinates 0,0 are the upper left corner of the image, and (width-1, height-1) the lower right corner.
the acc parameter is a user defined one.
The function is called for each pixel in the line from left to right (0 to width - 1) and for each line (0 to height - 1).
Arguments
:: PixelF | Gamma value, should be between 0.5 and 3.0 |
-> Image PixelRGBF | Image to treat. |
-> Image PixelRGBF |
Perform a gamma correction for an image with HDR pixels.
Perform a tone mapping operation on an High dynamic range image.
Color plane extraction
class ColorPlane pixel planeToken #
Class used to describle plane present in the pixel type. If a pixel has a plane description associated, you can use the plane name to extract planes independently.
Minimal complete definition
toComponentIndex
Instances
ColorPlane PixelCMYK16 PlaneBlack # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneBlack -> Int | |
ColorPlane PixelCMYK16 PlaneCyan # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneCyan -> Int | |
ColorPlane PixelCMYK16 PlaneMagenta # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneMagenta -> Int | |
ColorPlane PixelCMYK16 PlaneYellow # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneYellow -> Int | |
ColorPlane PixelCMYK8 PlaneBlack # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneBlack -> Int | |
ColorPlane PixelCMYK8 PlaneCyan # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneCyan -> Int | |
ColorPlane PixelCMYK8 PlaneMagenta # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneMagenta -> Int | |
ColorPlane PixelCMYK8 PlaneYellow # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneYellow -> Int | |
ColorPlane PixelRGB16 PlaneBlue # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB16 -> PlaneBlue -> Int | |
ColorPlane PixelRGB16 PlaneGreen # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB16 -> PlaneGreen -> Int | |
ColorPlane PixelRGB16 PlaneRed # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB16 -> PlaneRed -> Int | |
ColorPlane PixelRGB8 PlaneBlue # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB8 -> PlaneBlue -> Int | |
ColorPlane PixelRGB8 PlaneGreen # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB8 -> PlaneGreen -> Int | |
ColorPlane PixelRGB8 PlaneRed # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB8 -> PlaneRed -> Int | |
ColorPlane PixelRGBA16 PlaneAlpha # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneAlpha -> Int | |
ColorPlane PixelRGBA16 PlaneBlue # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneBlue -> Int | |
ColorPlane PixelRGBA16 PlaneGreen # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneGreen -> Int | |
ColorPlane PixelRGBA16 PlaneRed # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneRed -> Int | |
ColorPlane PixelRGBA8 PlaneAlpha # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneAlpha -> Int | |
ColorPlane PixelRGBA8 PlaneBlue # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneBlue -> Int | |
ColorPlane PixelRGBA8 PlaneGreen # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneGreen -> Int | |
ColorPlane PixelRGBA8 PlaneRed # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneRed -> Int | |
ColorPlane PixelRGBF PlaneBlue # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBF -> PlaneBlue -> Int | |
ColorPlane PixelRGBF PlaneGreen # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBF -> PlaneGreen -> Int | |
ColorPlane PixelRGBF PlaneRed # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBF -> PlaneRed -> Int | |
ColorPlane PixelYA16 PlaneAlpha # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYA16 -> PlaneAlpha -> Int | |
ColorPlane PixelYA16 PlaneLuma # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYA16 -> PlaneLuma -> Int | |
ColorPlane PixelYA8 PlaneAlpha # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYA8 -> PlaneAlpha -> Int | |
ColorPlane PixelYA8 PlaneLuma # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYA8 -> PlaneLuma -> Int | |
ColorPlane PixelYCbCr8 PlaneCb # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYCbCr8 -> PlaneCb -> Int | |
ColorPlane PixelYCbCr8 PlaneCr # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYCbCr8 -> PlaneCr -> Int | |
ColorPlane PixelYCbCr8 PlaneLuma # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYCbCr8 -> PlaneLuma -> Int |
Define the plane for the red color component
Constructors
PlaneRed |
Instances
ColorPlane PixelRGB16 PlaneRed # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB16 -> PlaneRed -> Int | |
ColorPlane PixelRGB8 PlaneRed # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB8 -> PlaneRed -> Int | |
ColorPlane PixelRGBA16 PlaneRed # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneRed -> Int | |
ColorPlane PixelRGBA8 PlaneRed # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneRed -> Int | |
ColorPlane PixelRGBF PlaneRed # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBF -> PlaneRed -> Int |
data PlaneGreen #
Define the plane for the green color component
Constructors
PlaneGreen |
Instances
ColorPlane PixelRGB16 PlaneGreen # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB16 -> PlaneGreen -> Int | |
ColorPlane PixelRGB8 PlaneGreen # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB8 -> PlaneGreen -> Int | |
ColorPlane PixelRGBA16 PlaneGreen # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneGreen -> Int | |
ColorPlane PixelRGBA8 PlaneGreen # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneGreen -> Int | |
ColorPlane PixelRGBF PlaneGreen # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBF -> PlaneGreen -> Int |
Define the plane for the blue color component
Constructors
PlaneBlue |
Instances
ColorPlane PixelRGB16 PlaneBlue # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB16 -> PlaneBlue -> Int | |
ColorPlane PixelRGB8 PlaneBlue # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGB8 -> PlaneBlue -> Int | |
ColorPlane PixelRGBA16 PlaneBlue # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneBlue -> Int | |
ColorPlane PixelRGBA8 PlaneBlue # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneBlue -> Int | |
ColorPlane PixelRGBF PlaneBlue # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBF -> PlaneBlue -> Int |
data PlaneAlpha #
Define the plane for the alpha (transparency) component
Constructors
PlaneAlpha |
Instances
ColorPlane PixelRGBA16 PlaneAlpha # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA16 -> PlaneAlpha -> Int | |
ColorPlane PixelRGBA8 PlaneAlpha # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelRGBA8 -> PlaneAlpha -> Int | |
ColorPlane PixelYA16 PlaneAlpha # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYA16 -> PlaneAlpha -> Int | |
ColorPlane PixelYA8 PlaneAlpha # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYA8 -> PlaneAlpha -> Int |
Define the plane for the luma component
Constructors
PlaneLuma |
Instances
ColorPlane PixelYA16 PlaneLuma # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYA16 -> PlaneLuma -> Int | |
ColorPlane PixelYA8 PlaneLuma # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYA8 -> PlaneLuma -> Int | |
ColorPlane PixelYCbCr8 PlaneLuma # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYCbCr8 -> PlaneLuma -> Int |
Define the plane for the Cr component
Constructors
PlaneCr |
Instances
ColorPlane PixelYCbCr8 PlaneCr # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYCbCr8 -> PlaneCr -> Int |
Define the plane for the Cb component
Constructors
PlaneCb |
Instances
ColorPlane PixelYCbCr8 PlaneCb # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelYCbCr8 -> PlaneCb -> Int |
Define plane for the cyan component of the CMYK color space.
Constructors
PlaneCyan |
Instances
ColorPlane PixelCMYK16 PlaneCyan # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneCyan -> Int | |
ColorPlane PixelCMYK8 PlaneCyan # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneCyan -> Int |
data PlaneMagenta #
Define plane for the magenta component of the CMYK color space.
Constructors
PlaneMagenta |
Instances
ColorPlane PixelCMYK16 PlaneMagenta # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneMagenta -> Int | |
ColorPlane PixelCMYK8 PlaneMagenta # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneMagenta -> Int |
data PlaneYellow #
Define plane for the yellow component of the CMYK color space.
Constructors
PlaneYellow |
Instances
ColorPlane PixelCMYK16 PlaneYellow # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneYellow -> Int | |
ColorPlane PixelCMYK8 PlaneYellow # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneYellow -> Int |
data PlaneBlack #
Define plane for the black component of the CMYK color space.
Constructors
PlaneBlack |
Instances
ColorPlane PixelCMYK16 PlaneBlack # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK16 -> PlaneBlack -> Int | |
ColorPlane PixelCMYK8 PlaneBlack # | |
Defined in Codec.Picture.Types Methods toComponentIndex :: PixelCMYK8 -> PlaneBlack -> Int |
extractComponent :: (Pixel px, Pixel (PixelBaseComponent px), PixelBaseComponent (PixelBaseComponent px) ~ PixelBaseComponent px, ColorPlane px plane) => plane -> Image px -> Image (PixelBaseComponent px) #
Extract a color plane from an image given a present plane in the image examples:
extractRedPlane :: Image PixelRGB8 -> Image Pixel8 extractRedPlane = extractComponent PlaneRed
Arguments
:: (Pixel a, Pixel (PixelBaseComponent a), PixelBaseComponent (PixelBaseComponent a) ~ PixelBaseComponent a) | |
=> Int | The component index, beginning at 0 ending at (componentCount - 1) |
-> Image a | Source image |
-> Image (PixelBaseComponent a) |
Extract a plane of an image. Returns the requested color component as a greyscale image.
If you ask for a component out of bound, the error
function will
be called.
Packeable writing (unsafe but faster)
class PackeablePixel a where #
This typeclass exist for performance reason, it allow to pack a pixel value to a simpler "primitive" data type to allow faster writing to moemory.
Associated Types
type PackedRepresentation a #
Primitive type asociated to the current pixel It's Word32 for PixelRGBA8 for instance
Methods
packPixel :: a -> PackedRepresentation a #
The packing function, allowing to transform to a primitive.
unpackPixel :: PackedRepresentation a -> a #
Inverse transformation, to speed up reading
Instances
PackeablePixel Pixel16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods | |||||
PackeablePixel Pixel32 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods | |||||
PackeablePixel Pixel8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods | |||||
PackeablePixel PixelCMYK16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods packPixel :: PixelCMYK16 -> PackedRepresentation PixelCMYK16 # unpackPixel :: PackedRepresentation PixelCMYK16 -> PixelCMYK16 # | |||||
PackeablePixel PixelCMYK8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods packPixel :: PixelCMYK8 -> PackedRepresentation PixelCMYK8 # unpackPixel :: PackedRepresentation PixelCMYK8 -> PixelCMYK8 # | |||||
PackeablePixel PixelF # | |||||
Defined in Codec.Picture.Types Associated Types
Methods | |||||
PackeablePixel PixelRGBA16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods packPixel :: PixelRGBA16 -> PackedRepresentation PixelRGBA16 # unpackPixel :: PackedRepresentation PixelRGBA16 -> PixelRGBA16 # | |||||
PackeablePixel PixelRGBA8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods packPixel :: PixelRGBA8 -> PackedRepresentation PixelRGBA8 # unpackPixel :: PackedRepresentation PixelRGBA8 -> PixelRGBA8 # | |||||
PackeablePixel PixelYA16 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods packPixel :: PixelYA16 -> PackedRepresentation PixelYA16 # unpackPixel :: PackedRepresentation PixelYA16 -> PixelYA16 # | |||||
PackeablePixel PixelYA8 # | |||||
Defined in Codec.Picture.Types Associated Types
Methods |
fillImageWith :: (Pixel px, PackeablePixel px, PrimMonad m, Storable (PackedRepresentation px)) => MutableImage (PrimState m) px -> px -> m () #
This function will fill an image with a simple packeable pixel. It will be faster than any unsafeWritePixel.
Arguments
:: forall m px. (Pixel px, PackeablePixel px, Storable (PackedRepresentation px), PrimMonad m) | |
=> MutableImage (PrimState m) px | Image to read from |
-> Int | Index in (PixelBaseComponent px) count |
-> m px |
Read a packeable pixel from an image. Equivalent to unsafeReadPixel
Arguments
:: (Pixel px, PackeablePixel px, Storable (PackedRepresentation px), PrimMonad m) | |
=> MutableImage (PrimState m) px | Image to write into |
-> Int | Index in (PixelBaseComponent px) count |
-> px | Pixel to write |
-> m () |
Write a packeable pixel into an image. equivalent to unsafeWritePixel.
Arguments
:: (PrimMonad m, Pixel px, PackeablePixel px, Storable (PackedRepresentation px)) | |
=> MutableImage (PrimState m) px | Image to write into |
-> px | Pixel to write |
-> Int | Start index in pixel base component |
-> Int | pixel count of pixel to write |
-> m () |
Fill a packeable pixel between two bounds.