Skip to content

Twinside/Juicy.Pixels

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Vincent Berthoux
Jun 5, 2024
1479b26 · Jun 5, 2024
Feb 12, 2024
Apr 25, 2015
Aug 17, 2013
Jun 4, 2023
Dec 7, 2022
Mar 9, 2022
Oct 12, 2023
Jun 5, 2024
Jan 3, 2012
May 6, 2015
Nov 24, 2018
Jan 3, 2012
Oct 12, 2023
Jun 5, 2024
Nov 11, 2017
Jan 3, 2012
Sep 4, 2016
Feb 26, 2016

Repository files navigation

Juicy logo

Hackage

Juicy.Pixels

This library provides saving & loading of different picture formats for the Haskell language. The aim of the library is to be as lightweight as possible, you ask it to load an image, and it'll dump you a big Vector full of juicy pixels. Or squared pixels, or whatever, as long as they're unboxed.

Documentation

The library documentation can be accessed on Hackage

Wrappers

For the user of:

Status

  • PNG (.png)

    • Reading

      • 1,2,4,8 bits loading, Grayscale, 24bits, 24 bits with alpha, interleaved & filtered (fully compliant with the standard, tested against png suite).
    • Writing

      • 8bits RGB (non interleaved)
      • 8bits RGBA (non interleaved)
      • 8bits greyscale (non interleaved)
      • 16bits greyscale (non interleaved)
      • 16bits RGB (non interleaved)
      • 16bits RGBA (non interleaved)
      • 8bits RGB paletted image
      • 8bits RGBA paletted image
    • Metadata (reading/writing)

      • in a tEXT chunk: 'Title', 'Description', 'Author', 'Copyright', 'Software', 'Comment', 'Disclaimer', 'Source', 'Warning'
      • any other tEXT chunk.
      • in a gAMA field : 'Gamma'
      • DPI information in a pHYs chunk.
  • Bitmap (.bmp)

    • Reading

      • 16 or 32 bit RGBA images
      • 16, 24, 32 bit RGB images
      • 1, 4, or 8 bit (greyscale & paletted) images
      • RLE encoded or uncompressed
      • Windows 2.0/3.1/95/98 style bitmaps all supported
    • Writing

      • 32bits (RGBA) per pixel images
      • 24bits (RGB) per pixel images
      • 8 bits greyscale (with palette)
    • Metadata (reading/writing): DPI information

  • Jpeg (.jpg, .jpeg)

    • Reading normal and interlaced baseline DCT image

      • YCbCr (default) CMYK/YCbCrK/RGB colorspaces
    • Writing non-interlaced JPG

      • YCbCr (favored), Y, RGB & CMYK colorspaces
    • Metadata:

      • Reading and writing DpiX & DpiY from JFIF header.
      • Reading & writing EXIF metadata. No GPS information can be written now.
  • Gif (.gif)

    • Reading single image & animated Gif image, handles interlaced images.
    • Writing single & animated Gif images.
    • No metadata.
  • Radiance (.pic, .hdr)

    • Reading
    • Writing
    • No metadata.
  • Tga

    • Reading
      • 8, 16, 24 & 32 bits
      • paletted and unpaletted
      • RLE encoded or uncompressed
    • Writing
      • uncompressed 8bits (Pixel8)
      • uncompressed 24bits (PixelRGB8)
      • uncompressed 32bits (PixelRGBA8)
    • No metadata
  • Tiff

    • Reading

      • 2, 4, 8, 16 int bit depth reading (planar and contiguous for each)

      • 32 bit floating point reading

      • CMYK, YCbCr, RGB, RGBA, Paletted, Greyscale

      • Uncompressed, PackBits, LZW

    • Writing

      • 8 and 16 bits
      • CMYK, YCbCr, RGB, RGBA, Greyscale
      • Uncompressed
    • Metadata: reading DpiX, DpiY and EXIF informations.

I love juicy pixels

You can make donations on this page.