Safe Haskell | None |
---|---|
Language | Haskell2010 |
Module used for JPEG file loading and writing.
- decodeJpeg :: ByteString -> Either String DynamicImage
- decodeJpegWithMetadata :: ByteString -> Either String (DynamicImage, Metadatas)
- encodeJpegAtQuality :: Word8 -> Image PixelYCbCr8 -> ByteString
- encodeJpegAtQualityWithMetadata :: Word8 -> Metadatas -> Image PixelYCbCr8 -> ByteString
- encodeJpeg :: Image PixelYCbCr8 -> ByteString
Documentation
decodeJpeg :: ByteString -> Either String DynamicImage Source
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) Source
Equivalent to decodeJpeg
but also extracts metadatas.
Extract the following metadatas from the JFIF bloc:
- DpiX
- DpiY
Exif metadata are also extracted if present.
:: 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 Source
:: 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 Source
Encode an image in jpeg at a reasonnable quality level.
If you want better quality or reduced file size, you should
use encodeJpegAtQuality