5 ms·
PNG that works
- bni 16y agoThe article suggest you could use (among others): "OptiPNG + Pngcrush combo" What is the benefit of using pngcrush in addition to optipng? I got exellent reults using optipng only.
- masklinn 16y agoPNG recompressors perform different optimization and try at different levels of hard, so the improvements coming from one compressor may be different (and combinable with) another's. Furthermore, depending on agressivity they may change some encoding property of the PNG and make them easier (or harder) to recompress via other compressors. The benefit of using both is that it often allows you to squeeze a few extra percentage point of compression. Ideally you should test all combinations of compressors (presence and sequence) but that tends to be a bit expensive, especially when you involve PNGOut as it takes a pretty long time to run. FWIW, I just tried the following on a screen capture: * OptiPNG alone * PNGCrush then OptiPNG * OptiPNG then PNGCrush * Squash (which runs a sequence of PNGrush, OptiPNG and AdvPNG, it can also run PNGOut but I didn't install it) The source file was 250K, the files that went through OptiPNG, PNGCrush+OptiPNG and OptiPNG+PNGCrush were compressed to 159K (with a slight edge for the one compressed via PNGCrush first: both Optis are 162997 bytes, while PNGCrush + OptiPNG is 162978) and the file compressed via PNGSquash is 144K (147249 bytes).
- ars 16y agoI've gotten the best results by far by first doing pngout, then optipng, then advpng - in that order!! On some images each step cuts the file size by 10-15%. Change the order and you'll get worse results. Also pngout (and optipng) will convert 24bit PNGs to paletized PNGs if there are not a lot of colors. The often makes the file smaller - but not always. So I also suggest using the -c4 -c2 or -c6 options to pngout (as appropriate for the file) and checking if the file got smaller. But sure to pass -nc to optipng in that case.
- JonnieCache 16y agoI get best results with pngout http://www.advsys.net/ken/util/pngout.htm http://www.advsys.net/ken/util/pngout.htm
- masklinn 16y ago> For the mouse-loving people I wrote ImageOptim. It combines all the best image optimisation tools with drag’n'drop Mac GUI. I roll with PNGSquash[0] [0] https://github.com/msanders/PNGSquash https://github.com/msanders/PNGSquash
- unwind 16y agoThis: When you need full color, but don’t need transparency, use JPEG instead. implies that pixel-perfect results (non-lossy compression) is never desirable for images with full color, which I find to be a very provocative simplification. On the other hand, on the web in general, perhaps it is good advice as a "rule of thumb" for people who aren't likely to deal with images where each pixel really matters.
- regularfry 16y agoYou can set JPEG compression levels such that it's lossless, which gives a filesize not dissimilar to PNG.
- masklinn 16y ago> You can set JPEG compression levels such that it's lossless No you can't. You can use Lossless JPEG instead, but regular JPEG (or JPEG2000) is a lossy format period. edit: as tspiteri points out, JPEG 2000 does have a lossless mode. My bad. JPEG still does not though.
- tspiteri 16y agoI don't know about JPEG, but JPEG2000 definitely has a lossless mode.
- getonit 16y agoDid he mean it literally, or just that you can fiddle with compression until you don't notice any artefacts? At that point, it's as good as lossless for most uses, IMHO.
- masklinn 16y ago> At that point, it's as good as lossless for most uses, IMHO. It's not, and the size of the file blows up to insane levels.
- 16y ago
- zokier 16y agoThe PNG with ICC profile seems not to work in my system, Firefox 3.6.15, Windows 7
- pornel 16y agoI think it might require trip to about:config Here's an evil image that will look red (instead of blue) when ICC isn't working, and it's also easily ruined by invalid gamma: http://pornel.net/iTunes-icc-gamma.png http://pornel.net/iTunes-icc-gamma.png
- meestaplu 16y agoHow did you make that image? If I had to, I'd create an awful custom profile for my monitor and work with that in Photoshop et al, but that's kind of a kludge. Did you use a tool to change the ICC profile behind it?
- ryanisinallofus 16y agoSo is this Chrome sucking at PNGs or my calibration? http://yfrog.com/hsrnnnp http://yfrog.com/hsrnnnp
- pornel 16y agoI think it's Chrome. It looks like it applied both ICC and gamma, but PNG spec requires to pick only one of them.
- pornel 16y agoIn Photoshop: Convert to Profile → Custom RGB… → move primaries' numbers around. I also used ImageMagick to add gAMA chunk.
- ars 16y ago"When you need full color, but don’t need transparency, use JPEG instead." No. Don't. JPEG is for photos (and rarely for gradients). For drawings, line art, cartoons, clip art, etc. use 24bit PNGs - they work just fine.
- wladimir 16y agoIndeed, PNG is very good at losslessly compressing artificial images which have large uniform (or gradient) areas, such as diagrams, drawings and so on. SVG(.gz) could be even more compact (and just as important, resolution independent), but alas we'll have to wait a bit before support in browsers is common.
- masklinn 16y agoFor line arts, you can probably use 8bit PNG.
- pornel 16y agoYou're right — I could have made that clearer. My main concern was people saving photos as PNG (and then thinking PNG sucks, because files are so big)
- there 16y agothe giant picture of the author staring at me while i'm reading the page is kind of creeping me out.
- colinprince 16y agoNuke anything ftw https://addons.mozilla.org/en-US/firefox/addon/nuke-anything-enhanced/ https://addons.mozilla.org/en-US/firefox/addon/nuke-anything...
- ladon86 16y agoThe point about Photoshop not supporting paletted transparent PNGs was new to me. I only use Photoshop, so I actually believed that alpha channels were only available for 24-bit PNGs. I wonder if Photoshop has planned future support for paletted, 8-bit alpha channel PNGs?
- masklinn 16y agoI wouldn't expect it too much. Photoshop also had a generally dreadful support for PNG (it would compress them very, very badly, sometimes to twice or thrice the size needed) before ~CS3.
- pornel 16y agoPhotoshop's PNG support hasn't changed for years, so don't hold your breath. Fireworks supports 8bit+a. I'm also working on modernised pngquant, which might give higher-quality results than Fireworks: https://github.com/pornel/improved-pngquant https://github.com/pornel/improved-pngquant
- jalada 16y agoAll of this fuss is largely for IE6 and it's really time to stop fussing over IE6 so much.
- reemrevnivek 16y agoNo, a significant portion of it is due to Photoshop's buggy PNG implementation. It's definitely not time to stop fussing over Photoshop; that's not going away anytime soon.
- jrockway 16y agoIt's definitely not time to stop fussing over Photoshop; that's not going away anytime soon. It depends on who you are. I have never in my life used Photoshop. So if it disappeared from the planet, my life would change in no way, except that The GIMP would have more contributors.
- sukuriant 16y agoOr everyone would go to Paint Shop Pro
- ck2 16y agoNote that for small images under 1k, sometimes gif will be smaller than png because of the header size if you only need 1bit transparency. But you should be using sprites anyway. I wish that ImageAlpha GUI was available for windows.