What Is The Future of PNG?
miladus writes "The GIF patent (held by Unisys)
will expire on June 20. C|Net wonders
whether that will also mean that PNG "will lose its original
reason for being". Remember Burn All
GIFs? " My hope would be that at this point PNG can stand on its own technical merits, rather then on ideological merits.
Unfortunately even half my coworkers don't know what a PNG is. I try to send them a UML diagram made from DIA and they demand a readable format :(
--------
Free your mind.
until GIF gives us more than Alpha channel with more than 1 bit :)...
I am dying for full PNG support in all major browsers... the 256 levels of transparency alone make it worth while!
Because everyone wants 256 color GIFs.
PNG does everything GIF does, only a million times better.
to cd
You can't get rid of a graphics file format once it's out there.
GIFs are limited to 8-bit colour depth, no alpha layer etc. etc. PNG is a standardised, open format with support for lossless encoding of full colour graphics with transparencies.
:)
Saying that GIF becoming patent unencumbered is going to reduce use of PNG is like implying that when the original patents ran out on horses & carriages people gave up their cars and reverted. Ain't gonna happen
I don't know why more people don't use PNG. It's a great format. For photorealistic images JPG is best, but for logos or other types of graphics and drawings, PNG is great. I hope that we start seeing widespread use of vector-based graphics in the near future, though.
You see? You see? Your stupid minds! Stupid! Stupid!
Just because PNG is 'better' than GIF, doesn't mean it'll win.
GIF has such a huge head start...
Until IE fully supports the format, it might as well be dead. Nobody who wants the Alpha Channel support can use it in IE6 so it pretty much just sits there, an unused option.
Since IE apparently won't be getting an update until the next version of Windows, I don't see much changing.
It also doesn't help that creating PNGs with Alpha Channels isn't as easy as it can be in some apps.
Only thing GIF has what PNG does not is animation support... PNG wins in everything else. And most of the GIF animations I have seen do nothing else than annoy so i'm not sure if the lack of it in PNG is a good or bad thing after all.
PNG is not just an alternative to GIF. PNG has things like Alpha Blending, Gamma Correction and Huge color depth (up to 48 bits, I believe).
So you can really do a lot of cool things with PNG that you can't do with GIF's.
The problem is that without browser support this is like having a CD library in the 70s... Useless. And as long as browsers don't handle PNG's properly it's also chicken & egg problem.
I hate to say it, but we're pretty much at Microsoft's mercy with mainstream PNG usage.
.: Max Romantschuk
My hope would be that at this point PNG can stand on its own technical merits, rather then on ideological merits.
It certainly does for me. PNG tends to display colors more accurately than GIF, has cleaner dithering, and has much better transparency than GIF. It also generates smaller files for complex/large images. But, Internet Explorer once again holds us back. IE doesn't do transparency AT ALL for PNG images. It doesn't even use the page color, or white, just a flat 50% gray. Once IE supports PNG properly, a lot more web developers will feel comfortable using it. Curse you and your "standards", Microsoft.
Jasin Natael
True science means that when you re-evaluate the evidence, you re-evaluate your faith.
IIRC, GIF really specialized in 256-color paletted images, and any extensions to that along the lines of full 32-bit color were kind of a hack, and were never very popular. PNG, on the other hand, is a great compressed lossless format that seems to cleanly support 4 channels. I've used it plenty when storing graphics for programming purposes, and have never had any kind of problems.
It seems that the only reason GIF was around in the first place is because computers were slow, and then later (instead of lossy jpegs) for displaying little images with text in them in web pages. Since PNG does that now and does it better, I think there's no reason to ever go back to GIF.
Sure, the readers and writers might now be legally free or whatever, but anyone who really wanted to use GIFs has been able to do it anyway (it's not like all along Photoshop wasn't able to export, and Explorer and Netscape weren't able to view them), and there is support for better formats pretty much everywhere now, that I don't foresee any changes in the status quo regarding GIF use.
-S
If you're getting larger file sizes with PNG, then you're using a program that creates PNG poorly.
When I converted all the graphics on my site over from GIF to PNG, I saved bandwidth. If I did my comic in GIF instead of PNG, the graphics would be much larger than they are now.
use pngcrush or some other kind of tool to optimize them if your stuck using an older version of Photoshop (some versions of photoshop have lousy PNG support) or get some shareware or free software program that supports PNG properly.
JPEGS will still be better for 24 bit color images, but with the right program PNGs will beat out GIFs.
Eviscerati.Org: All Hail the Eviscerati
large file size versus GIF or JPEG? Hardly. Take a 24 bit RGB image as your source, and find the format that provides the best reproduction of the original image in the least amount of space. PNG wins hands down. GIF can't reproduce the colour depth, JPEG can't reproduce the original pixels reliably without balloning the file size way beyond the PNG.
PNG is actually about the best lossless image format out there - better compression than TIFF LZW, and just as flexible.
You may wish to look at this thread on comp.compression
Just as we in Europe are often affected by US patents, even thought he patent itself isn't valid here, now might be your turn to be affected by patents outside your jurisdiction.
I have an include file tricking the transparancy into working here , but this geezer has done it a more elegant way...
Until IE gets a major update it's the only way to ensure that your PNG stuff works cross-browser. And with PNG's superior colour depth and transpancy there really is no reason to NOT at least toy with using PNG's a little any more...
MNG files, which are animated PNGs.
GIF and JPG each do something quite well. GIF is well-suited for the rendering of static elements with a relatively small palette, like webpage design elements. It doesn't support photo-realistic images, but that's OK - a GIF can make a very small, efficient file that can load quickly. And it's been supported since the earliest days of the Internet.
JPG compliments GIF by providing a way to display high-quality photo images, and you can control the size of the rendered file by deciding how much you're willing to discard. Again, it's supported by every editor and browser, and it's been around since the beginnning.
PNG is a superior format to GIF from a technical perspective, and it's not encumbered by the LZW patent. However, from the perspective of most mainstream users, it doesn't solve a problem that actually affects them (they don't know or care about the Unisys patent issue), it isn't perfectly supported by all mainstream browsers and servers in use today, and it's a johnnie-come-lately to the standards wars.
Like it or not (I think it kinda sucks), most web developers seem to do things one of three ways: if they need small static elements they use GIF, for photos they use JPG, and if they need fancy-schmancy stuff they use Flash. And nobody worries whether or not platforms other than Windows with the latest IE can render their site, anyway. So maybe PNG will slowly become more common - it is a better format for the most part than GIF is, and pretty much all current browsers and servers (going forward - not some of the older versions that are still in use) support it pretty well out of the box. Really, what matters most is the bottom line (especially once the LZW patent is dead) - can PNG produce a better browsing experience for a site's users? If it can, it'll get used. If not, then it's dead.
-- Josh Turiel
"2. Do not eat iPod Shuffle."
Of course MNG has even less support than PNG, but thanks to Jason Summer's MNG plugin anyone using a Netscape-plugin-compatible user agent or IE can see them.
~~~
Back in the day, JPGs were known for better compression, but with graphical loss. GIFs were known for preserving appearance, but with less compression than JPG.
Then PNG comes in...
- Open Source/Open Standard: cool
- Lots of options of graphic artists: cool
- even less compression: suckage, but whatever, people who really care about their net experience these days have broadband
PNG may be superior, but it suffers from being obscure and being too technically oriented. I remember when Animated GIFs were tough to create without a "wizard". I seriously doubt your average consumer will care about the added layers and alpha "stuff" that's supported by the PNG format.
Kind of like how Firebird may be technically superior to, say, Internet Explorer, but very few people know of Firebird, and few among those who do know about it would know how to use all its features. IE just "works" for them.
PNG rocks, but until the likes of many Photo CD "developing" companies and other consumer-oriented image business start using the PNG format, people will still only know a world of GIFs, JPGs, and BMPs.
Up, Up, Down, Down, Left, Right, Left, Right, B, A, START
is that PNG will never see large scale use until all of it's features are supported in IE. I would love to use PNG for everything, except that they look like hell in IE. And as much as I badger people about using Mozilla, they don't.
GIF does have full support in IE, and nobody seems to know that the patent even exists. Even those that do rarely care enough to even tell one person.
This is the truth and it sucks. PNG, better in every way, suffers for it.
One bit, that ought to be enough for anybody... :-)
... if saved as truecolour images. What really killed PNG, imnsho, was that the first graphics programs that implemented it simply did not allow users to create indexed PNG files. An 8-bit PNG image is smaller than an 8-bit GIF.
What many people also seem to forget, is that there is no excuse not to safe your PNG image with maximum compression once you are done editing: there will be no image quality loss.
And of course anyone seriously creating PNG images cannot do without PNGCrush, which can shave off every single bit of bloat. A crushed PNG image will look just as good as the original, but will be only a fraction of its size, and will be a lot smaller than a GIF would (1).
1: But not smaller than the JPEG. Lossless compression cannot compete with JPEG's lossy compression, and JPEG is still the format of choice for photographic images. For everything else you can and should use PNG.
PNG is used as part of MS Office Documents for their binary picture data, so one suspects that making it work in IE will make more things break elsewhere.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
What is the future of PNG?
PONG
I wonder if Microsoft's halfhearted support of PNG is deliberate. To be honest, it probably is, in an attempt to undermine open standards.
Ahem. Anyway, PNG is a format which would be superior to GIF in every aspect. Just a few problems...
1) Photoshop's PNG support sucks. It is entirely due to Photoshop that we have this insipid misconception that PNG is larger than GIF; if Photoshop would only compress PNG's decently, people would realize that this is false. Because unfortunately, most people are too lazy to use an optimizer along the lines of pngcrush.
2) IE/Windows' PNG support is awful. As I said, I believe that this is deliberate on Microsoft's part, given that they already have good PNG-handling code (in their AlphaImageLoader filter) and they simply refuse to use it as their default. Now, it is possible to use JavaScript -the scourge of the Net normally, but this is one of those points where it can be genuinely useful- to make IE apply the AlphaImageLoader filter to PNG images, but no one's managed to make a complete drop-in replacement that will apply to all PNG images im a page yet. It can be done, but it hasn't been done yet.
3) MNG support is nonexistent. Even Mozilla, the only browser which ever supported MNG, has removed it. This is a great shame.
Now, in the meantime, there actually is one use for images which PNG is ideally suited for, and where the transparency problems of IE/Win are not an issue: screenshots. The compression is good enough that particularly when dealing with computer-generated images, the file size isn't that much greater than JPEG, but there is no loss in image quality, which is especially important when grabbing screenshots of games or video. Screenshots are not transparent, as a rule, so IE/Windows has no problems. Unfortunately, it seems that this use of PNG has yet to be discovered by the mainstream.
PNG may also be good for certain types of wallpapeers, such as most computer-generated graphics or hand-drawn animation. Colors in these generally aren't as complex as they are in photographs, and the lossless compression of PNG works well under those conditions. Combine this with the fact that JPEG (the current de facto standard for wallpapers) has an inexplicable and yet undeniable hatred for the color red, and you have something which can better preserve these types of images. Worth considering, anyway.
Sorry to point this out, but Mozilla just recently dropped its MNG support from the trunk until it's a bit more mature and MNG is more accepted.
wget http://www.slashdot.org
14:12:33 (30.08 KB/s) - `index.html' saved [39023]
grep -i "\.png" index.html | wc -l
0
grep -i "\.gif" index.html | wc -l
32
Food for thought.
Avantslash - View Slashdot cleanly on your mobile phone.
Not really. Some encoders are pretty poor, but an 8 bit PNG can easily rival, if not beat it's gif counterpart.
Let's pick a quick example:The
If you think this is too simple an image, let's try a screengrab of my desktop, reduced to 256 colours. Feeling lucky?Same deal as above. The original is a 24bit pngcrushed file. None were saved as interlaced/progressive, nor with any transparency.
I dunno about you, but PNG looks pretty good to me.
Remember that most PNG's are likely to be 24 bits, as opposed to GIF's maximum of 8, and can even include an extra 8 bits of alpha transparency.
What? There's at least one free high quality reference implementation anyone's welcome to use (even Microsoft), the full specification's there for anyone to read, there's a W3C recommendation that's actively maintained. What more standardization do you need?
Yes, IE doesn't support alpha transparency (something GIF doesn't even have the potential to do; PNG's 8 bit alpha channel is as big as GIF's entire range!), but for general use PNG's a perfect replacement for GIF.
JPEG can beat both, but only if you don't mind it dropping image quality to do so; not something you want to do generally.
So what? Most users can just double click on the image file (who's file extension Windows helpfully hides by default) and won't notice the difference. And if some so called "web developer" hasn't heard of it, well, sucks to be him and his clients.
Hahaha no. PNG is nowhere near the best lossless image format. Have you ever heard of BMF? PNG is routinely 40% larger than BMF. You can read an informed, scientific comparison of many formats at The Art of Lossless Image Compression (warning: there's an annoying pop-up. Oh well)
Music speeds up when you yawn, but does not change pitch.
PNG allows up to 16-bits per channel and has full alpha last time I checked. It can store just about anything, and it's non-lossy.
OTOH, you've got the tools that are supposed to allow you to have only 2n image converters, but the interchange formats for that (PPM, PBM, PNM, others?) seem to always have some shortcoming, and they always have to introduce yet another interchange format! PNG does it all in one neat little compressed format.
So forget about scrapping GIF in favor of PNG. Instead, scrap PPM, etc. in favor of PNG. If it doesn't support it already, PNG could be made to support arbitrary bit depth, and arbitrary channels (inverse hyperkinetic bump blending, or whatever you can imagine).
For the web, in most cases, PNG's capabilities don't add much--unless you are doing something really flashy with your website, in which case you probably use Flash, in which case you have nothing meaningful to say so I ignore you anyway. :)
At any rate, PNGs (at least the RGB channels) are properly supported by all the major browsers, so if something happens to compress better in PNG, or if you really need full color depth in a non-lossy image, why not use PNG?
That about sums it up: GIF--color depth not important, crisp lines important, compression important. JPEG--color depth important, crisp lines not important, compression important. PNG--color depth and crisp lines both important, compression not as important (or the image just happens to compress well with PNG).
In some ways, this is a variation on the "better, faster, cheaper" dilemma.
Now, the scenario that favors PNG may be less common, but it's nice to know we can reach for it when we need it.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Even if PNG was a lousy format, it's gotten enough use
that it's here to stay. Fortunately, it's a pretty good
format.
What I wonder is if superior compression techniques, e.g.
LOCO/JPEG-LS will be incorporated into PNG? I was one of
the founders of PNG in 1995, but that was eight years of
technology development ago. Has someone tested PNG
against JPEG-LS in various real world applications?
In other news, Mozilla dropped support for MNG/JNG (animated PNG/JPEG-like PNG) in its 1.5 branch. Mozilla 1.4 will support it, but unless someone steps up as a full time maintainer, 1.5 will not. Basically, the old maintainer felt that MNG/JNG support wasn't worthwhile, especially because its library took up as much space as the entire imglib -- roughly 240KB on Windows and 170KB on Linux. With some integration they were able to get it down to 135KB, but it stopped around there.
To be honest, that *is* quite a lot of space for just one format decoder to take. The decoder's writers should get a pat on the back though, because this was still the first MNG/JNG decoder with full support for the spec. (For those who were wondering, JNG is a subformat of MNG and provides non-animated JPEG-compressed images with alpha transparency. Supporting it requires only a few KB extra if MNG is already supported)
MNG/JNG was never used very much on the web, but neither was PNG before a few browsers started supporting it. Clearly if Mozilla drops support MNG/JNG will be dead in the water. In particular, the format provides 8-bit transparency with *animation*, which you would be hard pressed to find in any other open, web-optimized format.
Many theme authors used MNG to produce animated icons that blended with the background (The Mozilla Firebird throbber used one, in fact.) Now they will have to jump through hoops to get this feature. Or they will have to emulate it using GIF's (blegh.)
So far there have been a lot of complaints from the community about the removal of MNG/JNG, but in comparison, very little action. One person submitted an XPI (installer) to allow 1.5/nightlies users to regain MNG/JNG support, but obviously this is suboptimal -- for the format to gain popularity it's going to at least need to be in the default install! Interested persons should check out these bugs on Bugzilla:
(#195280) Removal of MNG/JNG support
(#18574) restore support for MNG animation format and JNG image format
Adam
What you're seeing is probably gamma correction. Try saving the PNG image without a gamma chunk (GIMP's Save As... dialog can do this), and your image's #660000 will match your page's #660000.
If it's not gamma, then it's probably differences in dithering. In high-color mode, some web browsers use different dithering algorithms on flat rectangles (e.g. backgrounds) vs. images. If this is your problem, the problem should show up with GIF images as well. Here, the best policy is to use a binary-transparent PNG, masking out what touches the edges and matches the background. (IE supports binary transparency in indexed images, just not alpha.)
Will I retire or break 10K?
Yeah, like when they replaced the Internet with MSN...
// The following is hereby placed in the public domain. The right to copy and modify is :) )
// need to do PNG hack
// correct this to point to a blank GIF file :) */f ";e r(sizingMethod='scale')";
// just go through the images collection, and "set" the PNGs using the PNG hack
// "setPngImage" method to make MSIE happy
// irrevokably granted to all.
// Copyright (c) Daniel Potter
//
// In your onLoad event, call "msiePngHack()" to watch all your PNG images
// be set to use transparency. (Note that your PNG files must end with
// a ".png" extension and is case sensetive - this is because the MIME type
// is not exposed to the JS code. If you have a file that does not end in
// ".png" then add something like "?f=.png" to the end to fake out this
// script - and certain versions of IE
var isIE = navigator.appName == "Microsoft Internet Explorer";
// if really Opera, this is corrected later
// Sets a PNG image browser-independently (use for roll over effects etc)
function setPngImage(img, src) {
if (isIE && isPng(src)) {
img.width = img.offsetWidth;
img.height = img.offsetHeight;
/* SLASHDOT ONLY: REMOVE THE SPACES IN THE STRINGS. These are intended to prevent "page widening" but screw up the code
img.src = "http://www.microsoft.com/homepage/gif/1ptrans.gi
img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoad
img.filters(0).src = src;
} else
img.src = src;
}
// checks if the image is a PNG - ends in ".png"
function isPng(src) {
return src.length > 4 && src.substring(src.length - 4) == ".png"
}
function msiePngHack() {
for (i = 0; i < document.images.length; i++) {
var img = document.images[i];
try {
if (!(img.filters)) {
isIE = false;
return;
}
} catch (ex) {
isIE = false;
return;
}
setPngImage(img, img.src);
}
}
You are in a maze of twisty little relative jumps, all alike.
(Before anyone says that their 24b video card displays more than 256 grays, consider: grayscale is R = G = B. If you have 8 bits per channel and all three channels need to be equal to form grayscale, that's only 256.)
PNG is probably the best format out there for full color images w/alpha channel. It's definitely the smallest in this mode.
You can import PNGs into Macromedia Flash and preserve the alpha channel.
What this means is, for instance, you could import an image sequence generated by a rendering package like Lightwave and when you output the Flash, you are left with the equivalent of a JPEG image sequence layer with a perfect alpha channel on the edges. Even though the JPEG introduces blocky artefacting as the compression is ramped up, it doesn't mess up the alpha blending.
There is nothing else I know of that can do something like that.
I really wish JPEG had a mode with an alpha channel but it doesn't.