JuicyPixels-3.3.5: Picture loading/serialization (in png, jpeg, bitmap, gif, tga, tiff and radiance)
Safe HaskellNone
LanguageHaskell2010

Codec.Picture.Png.Internal.Export

Description

Module implementing a basic png export, no filtering is applyed, but export at least valid images.

Synopsis

Documentation

class PngSavable a where #

Encode an image into a png if possible.

Minimal complete definition

encodePngWithMetadata

Methods

encodePng :: Image a -> ByteString #

Transform an image into a png encoded bytestring, ready to be written as a file.

encodePngWithMetadata :: Metadatas -> Image a -> ByteString #

Encode a png using some metadatas. The following metadata keys will be stored in a tEXt field :

the followings metadata will bes tored in the gAMA chunk.

The followings metadata will be stored in a pHYs chunk

Instances

Instances details
PngSavable PixelRGBA16 # 
Instance details

Defined in Codec.Picture.Png.Internal.Export

Methods

encodePng :: Image PixelRGBA16 -> ByteString #

encodePngWithMetadata :: Metadatas -> Image PixelRGBA16 -> ByteString #

PngSavable PixelRGBA8 # 
Instance details

Defined in Codec.Picture.Png.Internal.Export

Methods

encodePng :: Image PixelRGBA8 -> ByteString #

encodePngWithMetadata :: Metadatas -> Image PixelRGBA8 -> ByteString #

PngSavable PixelRGB16 # 
Instance details

Defined in Codec.Picture.Png.Internal.Export

Methods

encodePng :: Image PixelRGB16 -> ByteString #

encodePngWithMetadata :: Metadatas -> Image PixelRGB16 -> ByteString #

PngSavable PixelRGB8 # 
Instance details

Defined in Codec.Picture.Png.Internal.Export

Methods

encodePng :: Image PixelRGB8 -> ByteString #

encodePngWithMetadata :: Metadatas -> Image PixelRGB8 -> ByteString #

PngSavable PixelYA16 # 
Instance details

Defined in Codec.Picture.Png.Internal.Export

Methods

encodePng :: Image PixelYA16 -> ByteString #

encodePngWithMetadata :: Metadatas -> Image PixelYA16 -> ByteString #

PngSavable PixelYA8 # 
Instance details

Defined in Codec.Picture.Png.Internal.Export

Methods

encodePng :: Image PixelYA8 -> ByteString #

encodePngWithMetadata :: Metadatas -> Image PixelYA8 -> ByteString #

PngSavable Pixel16 # 
Instance details

Defined in Codec.Picture.Png.Internal.Export

Methods

encodePng :: Image Pixel16 -> ByteString #

encodePngWithMetadata :: Metadatas -> Image Pixel16 -> ByteString #

PngSavable Pixel8 # 
Instance details

Defined in Codec.Picture.Png.Internal.Export

Methods

encodePng :: Image Pixel8 -> ByteString #

encodePngWithMetadata :: Metadatas -> Image Pixel8 -> ByteString #

class PngPaletteSaveable a where #

Encode a paletted image into a png if possible.

Minimal complete definition

encodePalettedPngWithMetadata

Methods

encodePalettedPng :: Image a -> Image Pixel8 -> Either String ByteString #

Encode a paletted image as a color indexed 8-bit PNG. the palette must have between 1 and 256 values in it. Accepts PixelRGB8 and PixelRGBA8 as palette pixel type

encodePalettedPngWithMetadata :: Metadatas -> Image a -> Image Pixel8 -> Either String ByteString #

Equivalent to encodePalettedPng but allow writing of metadatas. See encodePngWithMetadata for the details of encoded metadatas Accepts PixelRGB8 and PixelRGBA8 as palette pixel type

Instances

Instances details
PngPaletteSaveable PixelRGBA8 # 
Instance details

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 #

PngPaletteSaveable PixelRGB8 # 
Instance details

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 #

writePng :: PngSavable pixel => FilePath -> Image pixel -> IO () #

Helper function to directly write an image as a png on disk.

encodeDynamicPng :: DynamicImage -> Either String ByteString #

Encode a dynamic image in PNG if possible, supported images are:

writeDynamicPng :: FilePath -> DynamicImage -> IO (Either String Bool) #

Write a dynamic image in a .png image file if possible. The same restriction as encodeDynamicPng apply.