What Is The Future of PNG? 609
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.
Sure (Score:4, Informative)
PNG does everything GIF does, only a million times better.
GIF and PNG are completely different! (Score:5, Informative)
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
PNG is good (Score:4, Informative)
PNG will stick (Score:4, Informative)
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.
Wrong! (Score:5, Informative)
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.
what GIF leads PNG... (Score:2, Informative)
GIF supports animation, but it is not supported in PNG.
I know with MNG, you can do animation plus all advantages of PNG. However in reality, not many people are using MNG yet, which make the support for MNG almost non-existant (even our favorite browser has removed support for MNG due to resignation of its maintainer [mozilla.org], at least for now)
we still have many things to do to evangeliszed the use of MNG (imagine p0rn ad with full alpha transparency! sigh...) before we can get a full-blown replacement for GIF. Remember newbies will definitely say: `Wow! GIF does animation but PNG does not, PNG is a crap.' Regardless whether GIF has LZW patent or not.
You mean the US patent expires (Score:5, Informative)
You may wish to look at this thread [google.com] 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.
Re:no animation support, but... (Score:2, Informative)
voila: http://www.libpng.org/pub/mng/
A minor 'hack' get's fuPNG to work in IE though... (Score:5, Informative)
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...
Re:Wrong! (Score:4, Informative)
Except, of course... (Score:5, Informative)
Spelling 101 (Score:2, Informative)
The word is "than", not "then". And while I'm here, it's "definitely", not "definately", "your" is not a substitute for "you are" and vice versa, and we certainly don't make plurals of words by tacking on an apostrophe followed by an S. We also don't use the word "where" in place of "were". We also spell "you" fully rather than using "U", and we should read [hop.com] more.
- IP
And that's what MNG is for (Score:3, Informative)
Re:Its already moribund (Score:5, Informative)
IE and PNG transparency (Score:1, Informative)
The background used is that saved in the PNG file, which you *can* specify, just like with GIFs.
And you can use alpha transparency via an ActiveShow style filter. Read this [alistapart.com].
Re:Animated PNG (Score:2, Informative)
more info: http://www.libpng.org/pub/mng/
Re:here's hoping. (Score:5, Informative)
However, IE for Windows supports it *horribly*. If you want to use the alpha transparency feature of PNG's, you've got to jump through a lot of crappy, nonsensical IE-only hoops.
Here is a rather funny page [homelinux.net] (since the author's disbelief and anger at IE's horrible behavior is palpable) which does a good job of explaining the issue, and supplying a few workarounds.
It's a shame that IE is so crappy in this regard (and plenty of others, but that's another discussion)... there's no good reason for it. Apparently IE for Mac supports them just fine, btw... so it's not like Microsoft has some official PNG-hating policy, they just simply got sloppy with IE/Win. Another good example why too much share in a given market (in this case, web browsers for Windows) is a bad thing for competition. Why should they bother improving or fixing IE/Win? What's in it for them?
PNGs will always be larger than GIFs... (Score:5, Informative)
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 [sourceforge.net], 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.
Re:Wonder how php will act to this (Score:2, Informative)
I do recognize that GIF support would still be a useful thing to have for a lot of people out there and I'll bring it back if I can do that without putting my company in front of the firing squad, legally speaking.
If I am able to bring it back, I'll no doubt throw in some support for animation, as that's probably the best reason to use GIF at this point. There are neat alternatives though; check out the Ming library, which creates valid Flash animations that the vast majority of browsers can view. (Ming is not Ming32; two very different tools.)
Re:PNG is good (Score:3, Informative)
That said, it's much easier to use contrasting colors for page elements and backgrounds. PNG transparency would be great for blending in as long as you don't need a razor sharp edge. Lossy images are great for reducing load times. JPEG with transparency would eliminate the need for lossless images in many cases....
I'm not a web developer, so don't stone me if I said something wrong.
Are there animated PNGs yet? (Score:3, Informative)
slashdot uses gifs (Score:1, Informative)
Re:Sure (Score:3, Informative)
Re:Technical Merits... (Score:3, Informative)
IE doesn't do transparency AT ALL for PNG images.
No. It understand full-transparency in indexed mode (this is not using the alpha channel). This functionnally the equivalent of GIF. IE throw away the alpha channel entirely, but one of the color in indexed mode can be defined as transparent.
In The Gimp, right-click, "Image", "Mode", "Indexed ..." get you the menu to make your image indexed.
But it is true that IE hold us back. Full alpha channel support would do a lot for Web site aesthetic.
Re:Except, of course... (Score:5, Informative)
Agreed. Animated GIFs can be very useful - it's just that 99% of sites seem to use them purely for advertising and obnoxious eye candy.
The best use of an animated GIF I've seen is at : http://www.ibanez.co.jp/world/guitar/uv_jem/pages/ uv777p.html [ibanez.co.jp] - the little animation of the selector switch and pickups at the bottom is a fantastic way of conveying a large amount of information in a very small space.
Re:Wrong! (Score:5, Informative)
All 3 of the graphics programs I use routinely creat PNG's that are larger than gif's, now this may not be a problem with the format persee, but it is a problem with the real world implementations that are out there and are being used.
You should consider another possibility: you don't know what you're doing.
Do you know the difference between a 24-bit true color and an 8-bit palette image? (This is not an insult or rhetorical question, it's a real question-- you may.) Many image processors and paint programs work naturally in 24-bits. If you save to PNG, they will then naturally save those images in 24-bit format. To save to GIF, though, they must first be converted to 8-bit palette format. With (for example) the Gimp, you have to do this explicitly, so you'll know you're doing it. However, it's possible that some paint programs may do it automatically, without telling you it's been done. This will make for smaller files, but information has been lost. When you read it back in, you will only have 246 different colors in the image, regardless of how many where there originally. If you read the PNG back in, the image will be exactly as you saved it. (Unless you had all sorts of complicated layers, in which case you need an even heavier file format.)
PNG can save images in 8-bit format, in which case a good implementation will give you an image about the same size or a bit smaller than a GIF image. But they don't have to. GIF images have to be saved that way. Naturally, saving an image in 24-bit format will create a larger file than saving one in 8-bit format. (And, it may be different by more than a factor of 3, for reasons having to do with the compression algorithm.)
Before comparing the merits of image formats looking just at the file sizes saved, you have to make sure you understand what is being saved.
JPG is a whole 'nuther ball of wax. That's a 24-bit image format, but it's lossy. That's why they can be so small. But, again, if you read the image back in, it won't be exactly the same; some colors will have been modified slightly. (How much depends on the quality setting you used when saving the JPEG image.) If you're expecting to read and write an image repeatedly, JPEG is a bad format to use, as each time you read and write it, more information gets lost. In that case, you're much better off using PNG images.
-Rob
Re:On the other hand... (Score:3, Informative)
Sorry to point this out, but Mozilla just recently dropped its MNG support [mozilla.org] from the trunk until it's a bit more mature and MNG is more accepted.
Re:problems with PNG (Score:5, Informative)
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 [aagh.net] 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 [libpng.org] anyone's welcome to use (even Microsoft), the full specification [libpng.org]'s there for anyone to read, there's a W3C recommendation [w3.org] that's actively maintained [w3.org]. 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.
Re:here's hoping. (Score:5, Informative)
Animated PNG = MNG (Score:2, Informative)
Any PNG image is a valid MNG object, therefore creating MNG animations is a trivial task.
Alas browser support is non-existant except in certain builds of Mozilla, or by use of a plug-in [entropymine.com]/ActiveX component [entropymine.com].
Re:not yet... (Score:5, Informative)
I can save a graphic using RGB 102,0,0 and I would have to change it to RGB 115,0,0 or something similar to match the background color attribute of the HTML page.
IE is horrendous on PNG graphics, still to this day.
Re:PNGs (Score:4, Informative)
Re:Sure (Score:3, Informative)
The problem is mostly likely you are comparing apples to oranges. Remember that, at best, a gif file only has to store 256 colors. A png file, can store 256(Red)*256(Green)*256(Blue)*256(Alpha) colors. All that extra color info takes up space. If you reduce the png to an indexed palette of 256 colors (or less, depending on the gif palette), THEN compare file sizes, you will find the png smaller.
In addition, there is a program called pngcrush [sourceforge.net] which is also good at reducing the png file size without hurting quality, although it won't work the same magic (in file size reduction) as reducing the palette.
Re:PNGs (Score:5, Informative)
If PNG fails, I think that the blame for that falls squarely in Microsoft's lap.
PNG works in IE to a limited extent (Score:2, Informative)
Reasonably modern versions of IE do not support png.
Microsoft Internet Explorer for Windows has displayed PNG images since 4.x.
IE does not support most transparent versions of PNG, except for the binary-transparent version that directly replicates the features of still GIF.
Two solutions for IE 6 PNG color mismatch (Score:5, Informative)
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.)
Re:GIF and PNG are completely different! (Score:5, Informative)
this info and more (including full color GIF) from here [ipal.org].
This makes PNGs work in IE 5.5 + (Score:2, Informative)
enjoy!
Code to use PNGs in IE in a drop-in fashion (Score:4, Informative)
// 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);
}
}
PNG-JPG (Score:3, Informative)
I use PNG as my local format for most images simply because I can then fiddle with layers/text/blending/whatever at some time in the future if need be.
I generally export them to JPG for web use though simply because a quality 80 JPG is STILL smaller than the original PNG by quite some way.
Also means people can't nick my stuff and change the text (not easily) without asking me (in which case I'll happily email them the original PNGs).
Re:Wrong! (Score:4, Informative)
Try out http://www.hazardmaps.gov. No GIFs in sight/site (well, maybe some in the legend area).
You're just lazy if you use GIFs.
Drop-in PNG behavior (Score:3, Informative)
Its been done:
http://www.mongus.net/pngInfo/ [mongus.net]
Re:PNGs (Score:4, Informative)
Since there seems to be a lot of coding pages for IE anyway, one can help IE out [mongus.net] where they can't (or won't) do it themselves.
Re:Except, of course... (Score:2, Informative)
If only GIF support were this bad in major browsers! We could get rid of that accursed animated GIF altogether.
GIF support was this bad. Maybe you weren't on the net when Netscape 2.0 debuted, but that was when animated GIF support was first introduced (the files still bear the mark in their application control block) along with frames. The combination of animated GIFs and frames was often fatal to the browser, causing major memory leaks and crashes. (And you didn't have the kind of control available today to prevent another site from framing yours.) Before animated GIFs, you had to keep the connection open and use the server-push method to animate images on a browser.
Netscape toughed it out then to make animated GIFs work (and, alas, frames per their design). There just isn't that impetus to make it work again for MNG.
Re:here's hoping. (Score:4, Informative)
Opera 7.11 -- perfect
Mozilla 1.3.1 -- perfect
Netscape 7.02 -- perfect
IE6 SP1 -- totally broken
No surprises here.
Re:PNGs (Score:2, Informative)
IE had partial support for PNGs in 1997, and improved support in 2001 and 2002.s ers [libpng.org]
http://www.libpng.org/pub/png/pngstatus.html#brow
Re:not yet... (Score:2, Informative)
Save the PNG's from almost any other image editor and they'll look just fine.
PNG alpha channel (Score:3, Informative)
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.
Re:PNGs (Score:1, Informative)
English:
"I couldn't care LESS"
Merikan:
"I COULD care less"
Actually, it's:
English: I couldn't care less.
American-English: I couldn't care less.
Idiot: I could care less.
Re:PNGs will always be larger than GIFs... (Score:4, Informative)
Ummm, where did you get your information from? I'm one of the PNG spec co-authors, although my involvement with the project tapered off years ago, and I wrote one of the first commercial implementations of PNG. You may have heard of a company called MasterSoft that used to produce document and graphic conversion utilities. When we were acquired by Frame, and then Frame was acquired by Adobe, our products got released for a while as "Adobe File Utilities by MasterSoft." Quite a mouthfull, but accurate.
My PNG writing code handled indexed (palette based) and truecolor images equally well, and preserved whatever format/color depth was suggested by the original image. As I understand it, my code made its way into several products later on, although it was probably changed.
One of the utilities that came out early on was a small freeware/open source program designed to take GIF files and convert them to PNG. One of the other spec authors cooked that one up, and it worked very well. It created indexed PNG images by default.
While it's true that the PNG spec doesn't exactly demand that you write an indexed color image when the source data is best represented with indexed color, my early survey of PNG-supporting applications seemed to suggest to me that most PNG writing code out there generated good indexed color PNG images. So I'm not sure where this notion came from that the first programs to implement PNG didn't write indexed color. That doesn't jive with my experience.
I have noticed that some applications will generate truecolor PNG images unless you force your application to use indexed color, or downconvert from 24-bit color to indexed color. That's a function of the application software (usually image editing software) not second-guessing the intent of the user. If you've got your application set to do all editing in a 24-bit RGB color space (and some applications will promote loaded images to 24-bit RGB regardless of the pixel format of the original image), don't be surprised when you go to save as PNG and the resulting file contains 24-bit RGB pixels. Downconvert to an indexed color palette before saving. Some application software supports downconversion to indexed color during the save process.
WARNING - Parent comment is not work safe! (Score:3, Informative)