Skip to content

LiterallyWize/pnguin

Repository files navigation

PNGuin

A relatively fast, pure Luau PNG library

Lightweight, performant, and memory-efficient Luau implementation of the PNG image format!

What this library does:

🟢  Extracting all critical PNG chunks: IHDR, PLTE and IDAT

🟢  Decoding RGBA pixel data from PNGs of any bit depth and color type

🟢  Decoding simple transparency via the tRNS chunk

🟢  Modest error checking for invalid or corrupt PNG data

What this library does...n't:

🔴  Encoding PNG data (planned)

🔴  Parsing chunks besides the ones listed above (planned)

🔴  Decoding interlaced PNGs (planned)

🔴  Decoding PNGs larger than ~1GB, this is due to Luau buffer limitations

Installation

Using Roblox

.rbxm binaries can be downloaded and imported directly from the Releases page.

Using pesde

PNGuin is available as a pesde package, and can be installed using the following commands:

pesde add literallywize/pnguin
pesde install

Documentation can be found on the wiki loopThumbsUp

About

A relatively fast, pure Luau PNG library

Topics

Resources

License

Stars

Watchers

Forks

Languages