A PNG parser and viewer written from scratch in Rust for use in the terminal.
AI was used to help with debugging the chunk division and decoding process.
A PNG parser and viewer written from scratch in Rust for use in the terminal.
AI was used to help with debugging the chunk division and decoding process.
I’ve got a few more of the images working. Through this I’ve decided to make the system lossy and only store u8 values instead of up to u16. I might change this in the future but the loss in image quality isn’t the worst.
Log in to leave a comment
I’ve finally returned to this project! My last problem was I couldn’t get a test image to work quite right. Turns out that was because it was interlaced! I’ve solved that by restructuring my code a bit and adding support for interlaced images. Now it works! Yay :3
Log in to leave a comment
Greyscale images almost work…
I’m sure I’ll get it working
Log in to leave a comment
It works! I got my second test image to work! :DDD
Now to just test like seven more images and fix any problems with them…
(Just going to use schaik.com/pngsuite for that)
Log in to leave a comment
bwaaa my brain hurts @w@
…but i got a single line filter working…
woaw
Log in to leave a comment
Getting closer! I’ve got colour mode 6 (true colour + transparency) almost working, just trying to get line filters working!
Log in to leave a comment
I spent like twenty minutes working on and reading about the image background chunk before I realised both it’s officially considered optional according to PNG’s specifications and that it would require some weird Rust structure so I just deleted it all and decided to skip the chunk if it shows up ðŸ˜
Log in to leave a comment