JuicyPixels-3.1.3.3: Picture loading/serialization (in png, jpeg, bitmap, gif, tiff and radiance)

Safe HaskellNone

Codec.Picture.Gif

Contents

Description

Module implementing GIF decoding.

Synopsis

Reading

decodeGif :: ByteString -> Either String DynamicImageSource

Transform a raw gif image to an image, witout modifying the pixels. This function can output the following pixel types :

  • PixelRGB8

decodeGifImages :: ByteString -> Either String [Image PixelRGB8]Source

Transform a raw gif to a list of images, representing all the images of an animation.

Writing

type GifDelay = IntSource

Delay to wait before showing the next Gif image. The delay is expressed in 100th of seconds.

data GifLooping Source

Help to control the behaviour of GIF animation looping.

Constructors

LoopingNever

The animation will stop once the end is reached

LoopingForever

The animation will restart once the end is reached

LoopingRepeat Word16

The animation will repeat n times before stoping

encodeGifImage :: Image Pixel8 -> ByteStringSource

Encode a greyscale image to a bytestring.

encodeGifImageWithPalette :: Image Pixel8 -> Palette -> Either String ByteStringSource

Encode an image with a given palette. Can return errors if the palette is ill-formed.

  • A palette must have between 1 and 256 colors

encodeGifImages :: GifLooping -> [(Palette, GifDelay, Image Pixel8)] -> Either String ByteStringSource

Encode a gif animation to a bytestring.

  • Every image must have the same size
  • Every palette must have between one and 256 colors.

writeGifImage :: FilePath -> Image Pixel8 -> IO ()Source

Write a greyscale in a gif file on the disk.

writeGifImageWithPalette :: FilePath -> Image Pixel8 -> Palette -> Either String (IO ())Source

Write a gif image with a palette to a file.

  • A palette must have between 1 and 256 colors

writeGifImages :: FilePath -> GifLooping -> [(Palette, GifDelay, Image Pixel8)] -> Either String (IO ())Source

Write a list of images as a gif animation in a file.

  • Every image must have the same size
  • Every palette must have between one and 256 colors.

greyPalette :: PaletteSource

Default palette to produce greyscale images.