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

Safe HaskellNone
LanguageHaskell2010

Codec.Picture.Jpg

Description

Module used for JPEG file loading and writing.

Synopsis

Documentation

decodeJpeg :: ByteString -> Either String DynamicImage

Try to decompress a jpeg file and decompress. The colorspace is still YCbCr if you want to perform computation on the luma part. You can convert it to RGB using convertImage from the ColorSpaceConvertible typeclass.

This function can output the following pixel types :

  • PixelY8
  • PixelYA8
  • PixelRGB8
  • PixelYCbCr8

decodeJpegWithMetadata :: ByteString -> Either String (DynamicImage, Metadatas)

Equivalent to decodeJpeg but also extracts metadatas.

Extract the following metadatas from the JFIF bloc:

  • DpiX
  • DpiY

Exif metadata are also extracted if present.

encodeJpegAtQuality

Arguments

:: Word8

Quality factor

-> Image PixelYCbCr8

Image to encode

-> ByteString

Encoded JPEG

Function to call to encode an image to jpeg. The quality factor should be between 0 and 100 (100 being the best quality).

encodeJpegAtQualityWithMetadata

Arguments

:: Word8

Quality factor

-> Metadatas 
-> Image PixelYCbCr8

Image to encode

-> ByteString

Encoded JPEG

Equivalent to encodeJpegAtQuality, but will store the following metadatas in the file using a JFIF block:

encodeJpeg :: Image PixelYCbCr8 -> ByteString

Encode an image in jpeg at a reasonnable quality level. If you want better quality or reduced file size, you should use encodeJpegAtQuality