README.md

# Sesopenko.PNG

Runtime PNG compression library.  Creates 8 bit grayscale PNG binaries from scanline lists.

## Example Usage

```elixir
config = Sesopenko.PNG.Config.get(3, 3)

image_with_white_corners = [
  [254, 0, 254],
  [0, 0, 0],
  [254, 0, 254]
]

binary_data = Sesopenko.PNG.create(config, image_with_white_corners)

```

## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `sesopenko` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:sesopenko_png, "~> 1.0.4"}
  ]
end
```

## Capabilities

* 8 bit grayscale

## References:

* [Extarcting PNG Chunks with Go](https://parsiya.net/blog/2018-02-25-extracting-png-chunks-with-go/), Hackerman's hacking tools
* [PNG Specifications](http://www.libpng.org/pub/png/spec/1.2/PNG-Contents.html), libpng.org
* [Portable Network Graphics](https://en.wikipedia.org/wiki/Portable_Network_Graphics#%22Chunks%22_within_the_file), Wikipedia
* [ACII Table and Description](http://www.asciitable.com/), Asciitable.com

## License

This is licensed GNU GPL v3 and is described in LICENSE.txt.