- Pure Rust Implementation
- Support for
no_std - It generally provides sufficient functionality for most applications, but some features are not supported. See section below.
- The default deflate library uses our implementation. We are constantly improving it, but if you are not satisfied with its performance, you can implement a custom class to replace it with another implementation. See also
DeflateDecoderorDeflateEncoder. - The detailed specifications are subject to change as it is still under development.
- Undetermined, The latest version is recommended whenever possible.
| feature | supported |
|---|---|
| IHDR chunk | ✅ |
| PLTE chunk | ✅ |
| IDAT chunk | ✅ |
| IEND chunk | ✅ |
| other chunks | ignored |
| 8bit depth color | ✅ |
| 16bit depth color | NOT SUPPORTED |
| Interlace | NOT SUPPORTED |
| Color adjustment | ignored |
| CRC validation | ignored |
| checksum | ignored |
- An example application to display PNG files using
embedded-graphics
$ cargo run -p viewer FILE_NAME- An example application showing the contents of IDAT chunks
$ cargo run -p idatdump -- [MODE] [OPTIONS] [--] FILE_NAME-rawDecompress IDAT chunks and dump them as is (default)-filterDecompress IDAT chunks to show only filter types-decodedDumps the final decoding results of the image data
-hexShow in hex (default)-binShow in binary-b64Show in base64
MIT License
(c) nerry