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.
Because everyone wants 256 color GIFs.
PNG does everything GIF does, only a million times better.
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!
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
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, 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 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.
actually there is a 'partner'-like format to png called mng or multiple-image network graphics. i'm not too sure of how well supported it is but it does in fact exist.
voila: http://www.libpng.org/pub/mng/
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.
My hope would be that at this point PNG can stand on its own technical merits, rather then on ideological merits
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 more.
- IP
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.
Apple's Quicktime can become the default plug in for PNGs and display them instead of IE within IE. Therefore full advantage can be made of Alpha channels. Obviously not everyone has QuickTime installed.
----
Not quite.
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.
if you look up the page a little you'll see several posts about animated pngs, called mngs
more info: http://www.libpng.org/pub/mng/
This is such a sore point for me. To me the main raison d'etre for PNG's is that alpha transparency instead of the single-bit transparency that GIF's offer.
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 (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?
OtakuBooty.com: Smart, funny, sexy nerds.
... 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.
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.)
Check out the Apostrophe open-source CMS: http://www.apostrophenow.com/
As far as I can tell, GIF still has that one leg up on PNG. I haven't seen any version of PNG that can do animations and that is supported within a browser. Ideally, I'd still like to see an open source alternative to Flash that would allow one to create animations with synchronized sound. Oh well... I'm part way through my C++ book now. :)
Un-news
...so I guess png can't stand on idealogical merits, at least not here.
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.
:wq
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.
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.
Read the other comments on this page. PNG Animation exists, and is called MNG.
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/ActiveX component.
IE 6, at least on NT-based systems, even screws up the palettes on PNGs.
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.
Human nature is the same everywhere; the modes only are different. -- Earl of Chesterfield
Reasonably modern?! If I recall correctly, IE4 already has PNG support (minus alpha transparency). IE3 won't fit in the "reasonably modern" category anytime soon.
If at first you don't succeed, skydiving is not for you
Yeah, and IE6 has the exact same support. PNG, no alpha transparency. The single most-used browser in the world is the only one lacking the most attractive feature of PNG files. Even IE5 on the MAC has alpha support.
If PNG fails, I think that the blame for that falls squarely in Microsoft's lap.
End of lesson. You may press the button.
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.
Will I retire or break 10K?
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?
http://www.youngpup.net/?request=/snippets/sleight .xml
enjoy!
// 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.
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).
Its been done:
http://www.mongus.net/pngInfo/
Since there seems to be a lot of coding pages for IE anyway, one can help IE out where they can't (or won't) do it themselves.
Opera 7.11 -- perfect
Mozilla 1.3.1 -- perfect
Netscape 7.02 -- perfect
IE6 SP1 -- totally broken
No surprises here.
IE had partial support for PNGs in 1997, and improved support in 2001 and 2002.s ers
http://www.libpng.org/pub/png/pngstatus.html#brow
Microsoft blames Adobe Photoshop for the gamma problems. Photoshop stores the wrong gamma value (according to MS) in the PNG and IE obeys it, while most other browsers ignore gamma.
Save the PNG's from almost any other image editor and they'll look just fine.
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.
Have you noticed that they stress it incorrectly too?
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.
Parent node contains ASCII art of the famous goatse.cx picture. Probably not work safe for most people... =)
Please consider making an automatic monthly recurring donation to the EFF