What is chunky_png?
This pure Ruby library can read and write PNG images without depending on an external image library, like RMagick. It aims to be memory efficient and reasonably fast. The library supports reading and writing all PNG variants defined in the specification, with the limitation of only supporting 8-bit color depth. It provides support for all transparency, interlacing, and filtering options allowed by the PNG specifications. Users can also read and write textual metadata from PNG files, and access low-level read/write access to PNG chunks. The library offers simple drawing on the image canvas, as well as basic operations like alpha composition and cropping. It also provides interoperability by allowing import from and export to RMagick. Additionally, there is an optional mixin module called OilyPNG, which implements some of the ChunkyPNG algorithms in C, providing a significant speed boost to encoding and decoding
Highlights
- Reads and writes PNG images without external dependencies
- Supports all PNG variants defined in the specification (except 8-bit color depth)
- Provides access to transparency, interlacing, and filtering options
- Allows reading and writing of textual metadata
- Offers low-level read/write access to PNG chunks
- Includes simple drawing and basic image manipulation operations
- Provides interoperability with RMagick
- Optional mixin module (OilyPNG) for improved encoding and decoding performance