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
Patented or not, GIF is an antiquated compression algorithm which performs quite poorly compared to PNG. There is descent browser support for PNG, and it can also do some nifty things which GIF cannot -- most importantly alpha transparency as opposed to binary transparency.
It seems most people just don't care enough to use PNG though, so I wouldn't expect it to take over the net very soon.
At the weekend I removed all the GIF's from my project and replaced them with PNG's, because I'd had a submission (understadably) rejected to savannah.gnu.org because of this issue.
I'd only been using GIF's because my project outputs web pages and uses transparent images to render a nice customisable user interface (e.g. tabs) in a way that can only be achived with transparent images - and realistically most people use IE and it has problems with PNG transparency that would require me to use lots of VB scripting in IE just to get IE to behave in the manner I wanted.
Does this mean free GNU projects will be able to use GIF's, or are there still other parent related issues with GIF images?
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
What about the animation that gifs bring to the web? I know that no one was using the animated functionality of a gif back when the PNG specs were being drawn up but I think it's time to look back into it. It at least give users an alternative to Macromedia Flash especially whilst using GIMP.
Long live open source
___ Shout Central - Crushes your nuts!
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.
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.
It's not poor standardization. It's Microsoft not supporting 100% of the standard. PNG is standardized just fine, thanks.
Heute die Welt, morgen das Sonnensystem!
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."
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.
~~~
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.
Does such a thing exist? Will it ever exist?
The way I see it, if I have an image and it's only 8 bit I'll use a GIF, otherwise I'll use a JPG, unless it contains text that needs to be readable in which case I'll use PNG.
Simple rule of thumb?
Summation 2
GIF is not a lossy format, but it is restricted to 8bit. Every pixel is stored uniquely. Jpeg on the other hand will lose intricate details on an image, leading to an approximation of the original.
Take a gif image and save it as jpeg and you will see what I mean.
I Like PNG images because they are lossless - a major boon with artwork. Our entire intranet is constructed using PNG, and during the rollout we've setup a script to convert the images and links back down to JPEG for speed. This allows modifications to the artwork without the repeated degregation seen when saving jpeg images multiple times.
liqbase
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
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/
What is the future of PNG?
PONG
libGIF - ~800 lines of code, old as dirt, fast as hell.
vs.
libPNG+zlib+libMNG - ~1.4 MB of compressed unfinished stuff, age and speed low.
Yea, sign me up!
Seriously, anyone still wondering why it's not built into IE when GIF and JPEG and TIFF work so great is just oblivious. Yes, it's awesome, features galore, does things nothing... er.. few... er.. not too many other things already do very well.
Face it, the patent was the whole point. Read the PNG page, the first 3 paragraphs start with "We are better then TIFF because we have less features" and end with "but you're much better off using JPEG and TIFF for most things"...
- Adam L. Beberg - The Cosm Project - http://www.mithral.com/
Does this mean we might actually see another release of xv? John Bradley has been holding off on a new release for years because of the GIF patent issue. Ironically, perhaps the best feature that'll be in the new release will be built-in PNG support (as apposed to having to download a patch or a patched copy of xv to get this).
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
Obviously if you are in a country where the Unisys LZW patent is valid this is illegal, but in eleven days time who's going to care?
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.
Howard Stern was complaining that he couldn't open PNG files this morning.. "Why can't I get a bitmap or a JPEG?"
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.
I say this for 2 fairly good reasons. You can still view PNGs in all major browsers, it really just depends on what kinds of images you are making that will depend on how *good* they look. So if you stick to fairly simple images, a facet for which GIF is/was good for, PNG still is equal among browsers.
Secondly, I feel that PNG has a good foothold is in software development. Programs using some form of libpng seem to use the PNG images very well regardless of how simple or complex they may be. I have seen many a program using PNG for the application e.g. KDE and its childeren. I know I use PNG icons in my applications whenever possible. The two main venues in which i code in support PNG well enough to make my icons look good on screen.
A side note Java (JDK 1.2+) and Carbon support the use of PNG even though Carbon really tries to push tiff's. I do not understand any technical merits of tiff, however i don't like using them because they always seem to be so huge.
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.
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.
I didn't discover what PNG was until I discovered OSS. Prior to that I found GIF format files everywhere. I still do.
As a rock-in-roll Physicist once said, No matter where you go, there you are.
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"?
PNG never got a grip on the animation thing.
If you wanted a moving image in a little loop, it was GIF everytime.
It's Christmas everyday with BitTorrent.
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
This decision is what hurt PNG significantly. As we see, there was no migration of animated imaging on the web from GIF to MNG. One reason is there was simply no browser support. And why did PNG take so long to get into browsers? It was developed quick enough, but it should have been in every browser version thereafter. It was not. It took a while before support started to show up. And then, there was no animation. So everyone who wanted to put animated images up had to stay with GIF. I think the PNG folks created a fine piece of technology and failed to promote it properly. And it should have had at least basic animation at a level equivalent to GIF for no other reason than to kill off GIF. But they didn't do that and decide to drag things out, and so GIF did not die.
now we need to go OSS in diesel cars
All rich media content developers have adopted PNG for may reasons.
;))
One of the better ones is alpha transparency with small file sizes. This is a godsend for developers wanting a seamless anti-aliasing against any other background colour for multi-media and web (except of course for good old microsoft, who STILL don't support PNG transparencey - wonder why ?
PNG is not going to go away any time soon as it is far more flexible than the GIF format.
Applications like Macromedia Fireworks use PNG as it's default file extension, anabling it to store layers, image slice data, guidelines etc.
A slashdotting - you get the stick first and then the carrot !
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?
You mean they didn't lobby congress to extend patent terms by fifty years retroactively? Jeez, don't they know how to do business in the modern world?!
/
Ade_
Big Bubbles (no troubles) - what sucks, who sucks and you suck
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?
Slashdot's enough of a mainstream site that going over to PNG would do a lot to increase the visibility and popularity of the format. There can't be more than a couple of dozen images to convert. At worst, even with major fiddling that's about 2 hours work. At best it's a batch job for XV or Gimp...
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
Yeah, like when they replaced the Internet with MSN...
Well, then you just use MNG if you need animation.
What? Should I tell all users of IE not to visit the site until they have the appropriate plug-in to view the advertisements?
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).
- PNGs may be great, but nobody uses them
- PNGs never caught on because IE doesn't support them
- PNGs will never catch on until M$ supports all their features.
- I can't get PNGs to work
The fact of the matter is, PNGs work great as a drop-in replacement for GIFs. If you limit yourself to what GIFs can do, IE 4.x and Netscape 4.x can use them just fine. And those browsers have just about disappeared from old age.Of course, if you create a 24-bit PNG to compete with an 8-bit GIF, the GIF will be smaller. Otherwise the PNG will be significantly smaller. If you use gamma correction in the PNG, weird things can happen when people have their gamma misconfigured.
In my own tests a year ago, IE 5.5 on Windows and Mac, as well as Netscape 7 and Mozilla (on Windows, Mac and Linux), all browsers did just fine with 8-bit images, 24-bit images, as well as alpha transparency. That last one is really, really cool looking and everyone should try it.
My theory is that few people use PNGs because most of the HTML books out there recommend GIFs because that's what the authors learned and nobody has bothered to correct them.
More info:
Its been done:
http://www.mongus.net/pngInfo/
(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 never took off because GIF never went away.
Despite all the moaning and gnashing of teeth over the GIF patent, every graphics program produced over the past 15 years, including many shareware programs, has included GIF support. The end result was that people were able to continue creating, editing and using GIF files and the average person never even noticed a problem.
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.
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