Implementating Transparent PNGs in IE7
Brandon writes "Over at the official IE Blog, Sam Fortiner has posted some very detailed information regarding Alpha PNG Rendering in IE7. From the article: 'As the dev who implemented the support, I can state that it was neither a bug-fix nor did it require a re-write of the display engine. Instead, it ended up being somewhere in-between the two and required what I would call "feature work." Implementing transparency support for PNG images required a significant amount of modification to the image decoding and display pipeline in IE along with a significant amount of new functionality added to the PNG decoder.'"
So this implies they wrote their own PNG reading routines instead of using libpng?
Is this some sort of NIH thing?
libpng has a BSDish licence if I recall... So that can't be the issue...
-David
There. Now go play some cool javascript games!
I'd imagine this would be why IE can show images as they download, instead of waiting for the whole thing to download like other browsers...
I could be wrong..
This is a really interesting case study in monopoly behavior and the value of competition. Microsoft you will remember pretty much stopped IE development and shut down the IE team.
Firefox came along, and whamo, all of a sudden Microsoft has developers writing things like. Very impressive. What's interesting for me is they are huge huge company by comparision to Firefox, but it took firefox to really get them to start making some improvements.
Konqueror displays partial images as they download. The original friggin' browser in OS/2 did the same thing. It's hardly new.
Think about it: what's the whole purpose in Progressive-mode JPEGs?
Got time? Spend some of it coding or testing
Netscape 2 had progressive image downloading -- it was quite a nice feature on 14.4. But, for whatever reason, IE seems to display images more quickly than Firefox, especially if there are many of them.
This is a really interesting case study in recycling comments and the value of karma whoring. Actually, no, it isn't.
put your spellchecker on danger money, baby.
Screw you all! I'm off to the pub
...the code they're rewriting has not been substantially changed since the days when GIF was king of the images.
AFAICT, what they've finally added is genuine translucency (not the simple yes/no transparency of yore) to MSIE's image handlng.
Does anyone know of any other (non-text-mode) web browser which hasn't already been doing translucency for years?
Got time? Spend some of it coding or testing
Implementating? Implementating???!!!
Something is very very wrong with the /. editors. I think it's time I spent my precious picoseconds looking at some other website.
I have discovered a truly remarkable
"Implementing transparency support for PNG images required a significant amount of modification to the image decoding and display pipeline in IE along with a significant amount of new functionality added to the PNG decoder."
also known as...
"we fixed the fucking PNG transparency 'bug' in IE, so stop whinning and kiss our asses."
Too late Microsoft, I switched to the Mozilla suite loooong time ago...
"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former" - Albert Einstein.
I have a question. When there is written
"Requires IE5, IE6, or better"
on a website. Does that mean Firefox?
So IE7 will show transparent PNGs, Firefox 2.0 will render /. properly.
What will I be able to complain about then?
Very nice. Now go fix the crappy CSS support.
Did you enable pipelining support of Firefox?
1. Type about:config in the address bar
2. Filter for "pipelining"
3. Toggle network.http.pipelining and network.http.proxy.pipelining to true
4. I don't know if this helps but I also set network.http.pipelining.maxrequests to be a high value (like 100).
Now that the LZW patent has exprired, whoop-de-doo. Where were they when we really needed good png support?
What we need now is something that isn't a petri dish full of a rich agar browth waiting for every sort of web infection to take root and mulitply to the destruction of your computer, and something that adheres to CSS2 standards. But we already know that these needs aren't going to be met, so all I can draw as a conclusion is IE7? Bugger off. Waste of Time. Non-starter. Count on using Firefox for the foreseeable future.
That is a setting in IE...in your options, just click "Show image download placeholders" and it will not show the image until the whole thing is downloaded
We've been through this a million times on slashdot, the hardcoded maximum in firefox is 8. Really, IMHO, that option should be disabled - 8 hits for every one view seems somewhat wasteful of internet bandwidth on both the client and host sides.
Beware he who would deny you access to information, for in his heart he dreams himself your master. -Anonymous
The hypocrisy is staggering.
(1) please point out which, exactly, of "those same people" are doing both.
(2) Even if that is the case, the point on the BSD stack thing is ususally that MSFT fails to fully implrement it. At least from my perspective.
(3) "Staggering hypocrisy" is more than just a little, um, "staggeringly overstated", don't you think?
I forget what 8 was for.
I supose we're going to have to wait till 9 for Acid2.
Besides the fact it generally offers better compression, now that we have FULL transparency in IE7, we can start doing some really great things with overlaying images in styles and such. Too bad it'll be like 2012 before IE6 disappears.
I'd imagine this would be why IE can show images as they download, instead of waiting for the whole thing to download like other browsers...
Probably not. Many formats support interlacing (or progressively higher quality data with formats like JPEG). This basically means that the same (or similar) data is present, but in a different (predictable) order allowing useful images to be displayed without having access to the entire image file. IIRC, even early versions of Netscape supported this. I know may graphics viewers from the dialup BBS days did the same thing.
PNG has interlace support as well.
moto411.com
"Um, it's only hypocracy if the same person says it."
So basically you're saying that there's no hypocrisy on slashdot, because the OP didn't name everyone engaging in it? If so then that has staggering implications for every YRO story posted.*
*For even more fun with the "We're 800,000 random people". Just think of what that means. No more "those darn democrats", "the government/ corporation is evil", or "Ogg says news media are bad". No more generalizing statements in any form. You all may actually have to start naming names when you start spouting emotionally laden "just think of the children" tripe. As you attempt to get your way.
So the safari guy writes code that passes the acid2 test last week and now this post. Makes you wonder if someone at Microsoft heard that and said, "Anybody here working on this thing?"
This sig intentionally left justified.
And thank Sam Fortiner for the work done! Can't you see there is a group of people trying to make a better broeser out of IE? Are you blinded by your own arrogance?
\m/
This is a hack to render transparent pngs into a gif image using IE's filters. It's slow and only works with IMG tags. But works.
\m/
This bit of javascript will enable 8-bit alpha for PNGs used in IMG tags. Won't work for PNGs used as backgrounds of objects, but is at least moderately useful, considering that even if they release the fixed version of MSIE today, older versions will persist in large numbers for many years.
Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?
As someone that studied language, semiotics, and the philosophy of language, I can say you have opened up an entirely gnu whorled for we. Futhermore, sinctification flails to indegnify the snotastic iconiflications your mesmerificate. I/We chan lonley hop seiden froden not only antideifyen, however, siche misunderestimation leaves problemification many wierdefied.
I forget what 8 was for.
...if boolean transparency data structures contributed to their not using anti-aliased fonts.
tasks(723) drafts(105) languages(484) examples(29106)
Shouldn't that be "Implementing" and not "Implementating" in the subject line?
I encourage the devs at MS to make IE as good as they can to compete.
Oh, you want them to compete!? Then I think the first thing they're going to have to do is take IE out of the core OS, publish the API that a browser needs to provide in order to be the core OS's browser, and allow vendors to distribute the OS with any browser that matches the API. I.e., e.g., no more requirement for IE for their Update services.
Until they do that (at a minimum), what they're doing is not properly described as "competing". It's properly described as leveraging their monopoly.
That said, I do agree that improving IE is not necessarily a bad thing. It depends on whether they're doing it to make the browser more attractive and useful on its own terms, or whether they're doing it in order to lock more people into their proprietary "variants" of actual standards. And this case (considered on its own) does indeed seem like it might be a rare instance of the former, which is a good thing. But IE considered as a whole still constitutes an attempt to lock in customers, lock out competition, and embrace, extend and extinguish open standards.
...when Conan32 spelt "hypocrisy" correctly, and both eraserewind and NanoGator had it right there on their screens to reply to, they both spelt it wrong?
<thwack!>
Got time? Spend some of it coding or testing
They only wanted me for the licence fee! I feel so used...
Got time? Spend some of it coding or testing
If dickwhackers are writing malware for one browser, it will be the most popular browser. Only when we see IE and FF approach neck-and-necking it at about 45% each will they start trying to target FF in anger.
By then, of course, most of the remaining ugly corners will have been filed off the FF code by the current exposure to the odd angry nut, and it will never ever have many of IE's design defects anyway, so while the number of actual exploits may go up, I can't see FF ever rivalling IE in sheer destructiveness.
Got time? Spend some of it coding or testing
Oh _super_. Alpha blending Png's.
I'm sure LOTS of developers have simply been delaying projects because they have to wait for MS.
Give me a freaking break.
MS's browser was only marginally better than Netscape when the browser war was 'won' and they have done nothing but let it rot since.
I'm less and less inclined to support MS products any longer. I will NEVER use Office again, the garbage that is Streets and Trips has been banished from my hd, and I will most likely never buy another OS from them seeing as their 'support' consists of $100 phone calls and discontinuation.
Oh, and I just embed my transparent PNG's as swf's (yay swfutils)
my $0.02
bren
I wonder how many buffer overflows he put in there. Heads up! Keep your eyes on the png code!