|
Packit |
c600df |
![Juicy logo](https://raw.github.com/Twinside/Juicy.Pixels/master/docimages/juicy.png)
|
|
Packit |
c600df |
|
|
Packit |
c600df |
|
|
Packit |
c600df |
[![Hackage](https://img.shields.io/hackage/v/JuicyPixels.svg)](http://hackage.haskell.org/package/JuicyPixels)
|
|
Packit |
c600df |
|
|
Packit |
c600df |
Juicy.Pixels
|
|
Packit |
c600df |
============
|
|
Packit |
c600df |
|
|
Packit |
c600df |
This library provides saving & loading of different picture formats for the
|
|
Packit |
c600df |
Haskell language. The aim of the library is to be as lightweight as possible,
|
|
Packit |
c600df |
you ask it to load an image, and it'll dump you a big Vector full of juicy
|
|
Packit |
c600df |
pixels. Or squared pixels, or whatever, as long as they're unboxed.
|
|
Packit |
c600df |
|
|
Packit |
c600df |
Documentation
|
|
Packit |
c600df |
-------------
|
|
Packit |
c600df |
|
|
Packit |
c600df |
The library documentation can be accessed on [Hackage](http://hackage.haskell.org/package/JuicyPixels)
|
|
Packit |
c600df |
|
|
Packit |
c600df |
Wrappers
|
|
Packit |
c600df |
--------
|
|
Packit |
c600df |
|
|
Packit |
c600df |
For the user of:
|
|
Packit |
c600df |
|
|
Packit |
c600df |
* [REPA](http://www.haskell.org/haskellwiki/Numeric_Haskell:_A_Repa_Tutorial), check-out JuicyPixels-repa on [GitHub](https://github.com/TomMD/JuicyPixels-repa) or [Hackage](http://hackage.haskell.org/package/JuicyPixels-repa)
|
|
Packit |
c600df |
|
|
Packit |
c600df |
* [Gloss](http://hackage.haskell.org/package/gloss), check-out gloss-juicy on [GitHub](https://github.com/alpmestan/gloss-juicy) or [Hackage](http://hackage.haskell.org/package/gloss-juicy)
|
|
Packit |
c600df |
|
|
Packit |
c600df |
Status
|
|
Packit |
c600df |
------
|
|
Packit |
c600df |
|
|
Packit |
c600df |
- PNG (.png)
|
|
Packit |
c600df |
* Reading
|
|
Packit |
c600df |
- 1,2,4,8 bits loading, Grayscale, 24bits, 24 bits with alpha,
|
|
Packit |
c600df |
interleaved & filtered (fully compliant with the standard,
|
|
Packit |
c600df |
tested against png suite).
|
|
Packit |
c600df |
|
|
Packit |
c600df |
* Writing
|
|
Packit |
c600df |
- 8bits RGB (non interleaved)
|
|
Packit |
c600df |
- 8bits RGBA (non interleaved)
|
|
Packit |
c600df |
- 8bits greyscale (non interleaved)
|
|
Packit |
c600df |
- 16bits greyscale (non interleaved)
|
|
Packit |
c600df |
- 16bits RGB (non interleaved)
|
|
Packit |
c600df |
- 16bits RGBA (non interleaved)
|
|
Packit |
c600df |
- 8bits RGB paletted image
|
|
Packit |
c600df |
- 8bits RGBA paletted image
|
|
Packit |
c600df |
|
|
Packit |
c600df |
* Metadata (reading/writing)
|
|
Packit |
c600df |
* in a tEXT chunk: 'Title', 'Description', 'Author', 'Copyright',
|
|
Packit |
c600df |
'Software', 'Comment', 'Disclaimer', 'Source', 'Warning'
|
|
Packit |
c600df |
* any other tEXT chunk.
|
|
Packit |
c600df |
* in a gAMA field : 'Gamma'
|
|
Packit |
c600df |
* DPI information in a pHYs chunk.
|
|
Packit |
c600df |
|
|
Packit |
c600df |
- Bitmap (.bmp) (mainly used as a debug output format)
|
|
Packit |
c600df |
* Reading
|
|
Packit |
c600df |
- 32bits (RGBA) images
|
|
Packit |
c600df |
- 24bits (RGB) images
|
|
Packit |
c600df |
- 8bits (greyscale & paletted) images
|
|
Packit |
c600df |
|
|
Packit |
c600df |
* Writing
|
|
Packit |
c600df |
- 32bits (RGBA) per pixel images
|
|
Packit |
c600df |
- 24bits (RGB) per pixel images
|
|
Packit |
c600df |
- 8 bits greyscale (with palette)
|
|
Packit |
c600df |
|
|
Packit |
c600df |
* Metadata (reading/writing): DPI information
|
|
Packit |
c600df |
|
|
Packit |
c600df |
- Jpeg (.jpg, .jpeg)
|
|
Packit |
c600df |
* Reading normal and interlaced baseline DCT image
|
|
Packit |
c600df |
- YCbCr (default) CMYK/YCbCrK/RGB colorspaces
|
|
Packit |
c600df |
|
|
Packit |
c600df |
* Writing non-interlaced JPG
|
|
Packit |
c600df |
- YCbCr (favored), Y, RGB & CMYK colorspaces
|
|
Packit |
c600df |
|
|
Packit |
c600df |
* Metadata:
|
|
Packit |
c600df |
- Reading and writing DpiX & DpiY from JFIF header.
|
|
Packit |
c600df |
- Reading & writing EXIF metadata. No GPS information
|
|
Packit |
c600df |
can be written now.
|
|
Packit |
c600df |
|
|
Packit |
c600df |
- Gif (.gif)
|
|
Packit |
c600df |
* Reading single image & animated Gif image, handles interlaced images.
|
|
Packit |
c600df |
* Writing single & animated Gif images.
|
|
Packit |
c600df |
* No metadata.
|
|
Packit |
c600df |
|
|
Packit |
c600df |
- Radiance (.pic, .hdr)
|
|
Packit |
c600df |
* Reading
|
|
Packit |
c600df |
* Writing
|
|
Packit |
c600df |
* No metadata.
|
|
Packit |
c600df |
|
|
Packit |
c600df |
- Tga
|
|
Packit |
c600df |
* Reading
|
|
Packit |
c600df |
- 8, 16, 24 & 32 bits
|
|
Packit |
c600df |
- paletted and unpaletted
|
|
Packit |
c600df |
- RLE encoded or uncompressed
|
|
Packit |
c600df |
* Writing
|
|
Packit |
c600df |
- uncompressed 8bits (Pixel8)
|
|
Packit |
c600df |
- uncompressed 24bits (PixelRGB8)
|
|
Packit |
c600df |
- uncompressed 32bits (PixelRGBA8)
|
|
Packit |
c600df |
* No metadata
|
|
Packit |
c600df |
|
|
Packit |
c600df |
- Tiff
|
|
Packit |
c600df |
* Reading
|
|
Packit |
c600df |
- 2, 4, 8, 16 bit depth reading (planar and contiguous for each)
|
|
Packit |
c600df |
- CMYK, YCbCr, RGB, RGBA, Paletted, Greyscale
|
|
Packit |
c600df |
- Uncompressed, PackBits, LZW
|
|
Packit |
c600df |
|
|
Packit |
c600df |
* Writing
|
|
Packit |
c600df |
- 8 and 16 bits
|
|
Packit |
c600df |
- CMYK, YCbCr, RGB, RGBA, Greyscale
|
|
Packit |
c600df |
- Uncompressed
|
|
Packit |
c600df |
* Metadata: reading DpiX, DpiY and EXIF informations.
|
|
Packit |
c600df |
|
|
Packit |
c600df |
_I love juicy pixels_
|
|
Packit |
c600df |
|
|
Packit |
c600df |
You can make [donations on this page](http://twinside.github.com/Juicy.Pixels/).
|
|
Packit |
c600df |
|