API Reference ExPng v0.2.0


ExPng is a pure Elixir implementation of the PNG image format.

Struct storage format for any ancillary chunks present in a parsed PNG image file. Currently ExPng does not make use of these, but saves them in order to retain the full original state of an image's raw data.

Representation of the IEND final chunk in an encoded PNG image. This is an empty data chunk, but required for properly decoding an image to mark the end of the image's data, and serves as a bookend when encoding an ExPng.Image to PNG.

Stores the data collected from a PNG's header data chunk. This chunk enodes information about

Stores the raw data of an IDAT image data chunk from a PNG image.

Representation of the color palette for a PNG image encoded using the indexed filter method.

Utility module for aliasing various integer constants used by the library

ExPng.Encodeable is a basic behaviour to mark a raw data chunk as encodeable and provide a callback to convert the struct to a binary bytestring to be written to a PNG file.

The primary API module for ExPng, ExPng.Image provides functions for reading, editing, and saving images.

Utility module containing functions necessary for decoding a PNG image file into an ExPng.Image.

Utility module to hold functions related to drawing on images.

Utility module containing functtions necessary to encode an ExPng.Image back into a PNG file.

This module contains code for filtering and defiltering lines of bytestring image data

This module contains code for converting between unfiltered bytestrings and lists of ExPng.Pixel.t/0.

Represents a single pixel in an image, storing red, green, blue and alpha values, or an index when part of a paletted image.

This struct provides an intermediate data format between a PNG image file and and ExPng.Image struct. Raw image file data is parsed into this struct when reading from a PNG file, and when turning an ExPng.Image into a saveable image file.

Shared utility functions.