It also works well on high-res, high-quality images with lots of single-color background and/or smooth gradients. But give it grainy, noisy, smaller-format images and it completely breaks down. We ended up sticking with PNG, which btw. Has fast open source implementations too [1][2]. [1] https://libspng.org/. - Source: Hacker News / over 1 year ago
That's why it's healthy to have competitors written in C. Like the library libspng, which has a simpler API than libpng. Or like samurai, a C reimplementation of the ninja build tool written in C++, or crun, a C implementation of a container launcher in contrast to the original written in Go. Source: over 1 year ago
It makes sense to treat it as an error but the ISO standard is too vague on this and the libpng developers never "fixed" this[1], it issues a warning but otherwise just masks off the high bits. Firefox has a workaround[2][3], Chrome doesn't. FWIW I do the same in my library[4], handling it as an error is problematic because it would mean the chunk gets discarded and then you can't even retrieve the values. [1]... - Source: Hacker News / over 2 years ago
Do you know an article comparing libspng to other products?
Suggest a link to a post with product alternatives.
This is an informative page about libspng. You can review and discuss the product here. The primary details have not been verified within the last quarter, and they might be outdated. If you think we are missing something, please use the means on this page to comment or suggest changes. All reviews and comments are highly encouranged and appreciated as they help everyone in the community to make an informed choice. Please always be kind and objective when evaluating a product and sharing your opinion.