4 ms·
This is cool code but can someone explain why we'd need this? Do we not have a common lossy format that supports transparency? My primary concern is that people
by homosaur 13y ago
This is cool code but can someone explain why we'd need this? Do we not have a common lossy format that supports transparency? My primary concern is that people have an expectation of what PNG means and this completely subverts that.
- metafunctor 13y agoThat's exactly it: we do not have a commonly implemented lossy format that supports transparency.
- homosaur 13y agoYeah I only asked because I agree with the above poster that we can't consider WebP common yet but was unsure if I was forgetting something. I can see the utility in this then, at least as a stopgap.
- svantana 13y agoAren't you forgetting GIF? Not a great format admittedly, but in photoshop there's even a "lossy" slider.
- xsmasher 13y agoThe GIF format is not lossy. There is no "quality" option in the format itself; just a color depth option, same as PNG. Photoshop uses the same tricks for "lossy" gif that this article uses for PNG.
- pornel 13y agoI've researched lossy GIF too: http://pornel.net/lossygif http://pornel.net/lossygif but even lossy version wasn't better than PNG. LZW is just a very poor compression. Even best case is taking ridiculous amount of bits (you can only add 1 byte to previously used pattern, so it's sequence of symbols for 1+2+3+5+6+etc. pixels resetting every 4k iterations), so there isn't even room for improvement. So, GIF is awful. Should be forgotten.
- SeppoErviala 13y agoOnly reason GIF is still alive is its animation support. APNG and WEBP+animation are not there yet. 8-bit palette and crappy compression do not matter when you offer exclusive features.
- simcop2387 13y agoWe actually don't, WebP can do this, but it's by no means common yet. This is actually a reasonable use of PNG still, it's optimizing the contents for the lossless algorithm. You might be able to take the difference/error and put it in another image and layer them to make it give back the detail.
- cynwoody 13y agoPNG isn't being subverted. The lossage happens before PNG is applied. What you are getting is a lossless copy of an image that has been cleverly preprocessed to be easier for the PNG algorithm to compress while not losing noticeable visual quality. The result is good compression and transparency support (which JPEG doesn't have).