Packages

A pure Elixir implementation of the PNG image format.

Current section

Files

Jump to
ex_png lib ex_png.ex
Raw

lib/ex_png.ex

defmodule ExPng do
@moduledoc """
ExPng is a pure Elixir implementation of the PNG image format.
Images can be created by decoding an existing PNG file
ExPng.Image.from_file("adorable_kittens.png")
or creating a blank image with a provided width and height
ExPng.Image.new(200, 100)
Images can be edited using `ExPng.Image.draw/3`, `ExPng.Image.line/4`,
`ExPng.Image.clear/2` and `ExPng.Image.erase/1`
"""
@type maybe(t) :: t | nil
@type filter_none :: 0
@type filter_sub :: 1
@type filter_up :: 2
@type filter_average :: 3
@type filter_paeth :: 4
@type grayscale :: 0
@type truecolor :: 2
@type indexed :: 3
@type grayscale_alpha :: 4
@type truecolor_alpha :: 6
@type filter ::
filter_none
| filter_sub
| filter_up
| filter_average
| filter_paeth
@type color_mode ::
grayscale
| truecolor
| indexed
| grayscale_alpha
| truecolor_alpha
@type bit_depth :: 1 | 2 | 4 | 8 | 16
end