IE7 Transparent PNG Implementation



Kenny S
07-10-2005, 12:31 AM
Seems like the IE6 team was too lazy..
They have NO IDEA what PNG support will do to transform the internet... yet
they were too lazy to make it work with their "untabbed" browser... Thank
god firefox make them wake up a bit....

http://blogs.msdn.com/ie/
IE7 Transparent PNG Implementation
My name is Sam Fortiner and I'm a developer on the Internet Explorer team
here at Microsoft. I joined the company about a year ago when I was given
the opportunity to work on IE. Since then I've worked on several aspects of
IE and recently settled down into the layout and display team. As part of
my work in this team, I implemented support for per-pixel alpha in PNGs.
Support for per-pixel alpha in PNGs in IE, or transparent PNGs as I'll refer
to them going forward, has been called many things over the last few years.
You can find places around the web where it was called:

a.. A simple bug-fix
b.. A missing and promised feature
c.. An optional feature per the PNG spec
d.. Impossible without a re-write of the display engine in IE
e.. Etc.
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.

The modifications to IE's image pipeline were required because transparency
in IE has historically only included palette based transparency or binary
transparency. The data structures and image formats necessary to pass
around more complex transparency information were not available. Adding
this information to the pipeline involved touching how all of the image
decoders worked and were displayed. Additionally, functionality to perform
the alpha blending needed to be hooked in.

The PNG decoder itself required a significant amount of work as well. For
example, paletized images with per-index alpha would lose their transparency
information and wouldn't even display in IE. Progressive display using
Adam7 interlacing was only minimally implemented and needed to be fleshed
out. New functionality needed to be added to perform format conversions
that previously hadn't been required. Addressing these types of issues in
the PNG decoder was part of the work that needed to be done to fully support
transparent PNGs.

To help validate the feature work I was doing, I frequently referred to the
following web pages to check the rendering behavior:

a.. http://www.w3.org/Graphics/PNG/inline-alpha.html
b.. http://www.silisoftware.com/png_alpha_transparency/
c.. http://apps.everamber.com/alpha/
d.. http://entropymine.com/jason/testbed/pngtrans/
e.. http://koivi.com/ie-png-transparency/
f.. http://homepage.ntlworld.com/bobosola/
g.. http://www.ncf.ca/~bh447/pngdemo/ (modified so the dragging works in
IE)
h.. http://webfx.eae.net/dhtml/pngbehavior/demo.html
i.. http://www.schaik.com/pngsuite/
j.. http://home.tephras.com/temp/PNG/index2.html
k.. http://www.libpng.org/pub/png/png-rgba32.html
l.. http://trific.ath.cx/web/png/
m.. http://toolkit.crispen.org/formats/png.html
Shortly after checking in the feature, Dave Massy experimented with a couple
other tests such as playing a video underneath a transparent PNG. Overall,
transparent PNG support is looking quite solid in IE7, based on our tests.

There are a couple points I feel are worth mentioning before wrapping this
posting up. First, the type of PNG images that IE can render has been
improved as a result of the work done. Previously, paletized PNG images
with alpha would not render in IE. Now, these types of images should render
correctly. Second, it's worth noting that the AlphaImageLoader should work
in IE7 the same way that it worked in previous versions of IE. The changes
necessary to implement transparent PNG support should not have impacted the
ability to use this filter in any way. This should help with
backwards-compatibility scenarios.

There are also a couple of limitations worth mentioning:

a.. Certain filters may not behave as expected due to how filters are
implemented. Filters work by rendering the content of their attached
element to their work surface and then modifying that surface before
compositing it to the output surface. Because of this, alpha blending of a
transparent PNG with non-binary transparency may lead to unexpected results.
For example, applying a BasicImage filter with an opacity attribute to an
IMG element with a transparent PNG will fill the work surface with the
transparent PNG alpha alpha blended with a solid gray background. The work
surface will then be alpha blended at the specified opacity level with
whatever is under the filter.
b.. MSTime does not support non-binary transparency for PNGs. This is
because MSTime doesn't understand anything other than binary index-based
alpha. Because of this, transparent PNGs in MSTime elements are expected to
continue to render as they do in previous versions of IE.
I'm very interested in providing the most robust transparent PNG
implementation possible. If there are specific scenarios of interest to you
or if you know of other test pages that you would like to bring to my
attention, please do so by posting a comment below.

- Sam

posted Tuesday, April 26, 2005 3:11 PM by ieblog with 79 Comments

C A Upsdell
07-10-2005, 12:31 AM
Kenny S wrote:
> Seems like the IE6 team was too lazy..
> They have NO IDEA what PNG support will do to transform the internet... yet
> they were too lazy to make it work with their "untabbed" browser... Thank
> god firefox make them wake up a bit....

I don't blame the IE6 team. When IE6 was released, it was (for the most
part) the most compliant browser available. I do blame Microsoft's
policy of only upgrading IE with new versions of Windows: IE6 appeared
with Windows XP; and because no replacement has yet appeared for XP,
there has been no replacement for IE6 ... so basically IE has been
standing still while the alternative browsers have been forging ahead.

IE7 is finally on the horizon, but what then? If Microsoft does nothing
after that to improve IE until the NEXT version of Windows, there may be
no further improvements until sometime in the 2010's. I feel that
Microsoft should be encouraged to keep on working on IE even after IE7
appears, and not to slow down until IE completely and correctly supports
ALL the standards.

Lindsay
07-10-2005, 12:32 AM
No, no. It's good that MS don't release it too often. It's good for the
competition. We don't want FireFox to go the same way as NetScape.

JoeM
07-10-2005, 12:33 AM
WE SURE DO FIREFOX IS CRAP just like NETSCAPE SLOW AND UNRELIABLE


"Lindsay" <me@home.com> wrote in message
news:42899378$0$26127$ed2619ec@ptn-nntp-reader02.plus.net...
> No, no. It's good that MS don't release it too often. It's good for the
> competition. We don't want FireFox to go the same way as NetScape.
>

Peter Foldes
07-10-2005, 12:33 AM
http://blogs.msdn.com/ie/archive/2005/04/26/412263.aspx

--
Peter

Please reply to newsgroup for the benefit of others.
Please do not send email unless invited to do so
"Kenny S" <hotmail@coldmail.com> wrote in message
news:Oq2MUFnWFHA.3584@TK2MSFTNGP14.phx.gbl...
> Seems like the IE6 team was too lazy..
> They have NO IDEA what PNG support will do to transform the internet...
yet
> they were too lazy to make it work with their "untabbed" browser... Thank
> god firefox make them wake up a bit....
>
> http://blogs.msdn.com/ie/
> IE7 Transparent PNG Implementation
> My name is Sam Fortiner and I'm a developer on the Internet Explorer team
> here at Microsoft. I joined the company about a year ago when I was given
> the opportunity to work on IE. Since then I've worked on several aspects
of
> IE and recently settled down into the layout and display team. As part of
> my work in this team, I implemented support for per-pixel alpha in PNGs.
> Support for per-pixel alpha in PNGs in IE, or transparent PNGs as I'll
refer
> to them going forward, has been called many things over the last few
years.
> You can find places around the web where it was called:
>
> a.. A simple bug-fix
> b.. A missing and promised feature
> c.. An optional feature per the PNG spec
> d.. Impossible without a re-write of the display engine in IE
> e.. Etc.
> 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.
>
> The modifications to IE's image pipeline were required because
transparency
> in IE has historically only included palette based transparency or binary
> transparency. The data structures and image formats necessary to pass
> around more complex transparency information were not available. Adding
> this information to the pipeline involved touching how all of the image
> decoders worked and were displayed. Additionally, functionality to
perform
> the alpha blending needed to be hooked in.
>
> The PNG decoder itself required a significant amount of work as well. For
> example, paletized images with per-index alpha would lose their
transparency
> information and wouldn't even display in IE. Progressive display using
> Adam7 interlacing was only minimally implemented and needed to be fleshed
> out. New functionality needed to be added to perform format conversions
> that previously hadn't been required. Addressing these types of issues in
> the PNG decoder was part of the work that needed to be done to fully
support
> transparent PNGs.
>
> To help validate the feature work I was doing, I frequently referred to
the
> following web pages to check the rendering behavior:
>
> a.. http://www.w3.org/Graphics/PNG/inline-alpha.html
> b.. http://www.silisoftware.com/png_alpha_transparency/
> c.. http://apps.everamber.com/alpha/
> d.. http://entropymine.com/jason/testbed/pngtrans/
> e.. http://koivi.com/ie-png-transparency/
> f.. http://homepage.ntlworld.com/bobosola/
> g.. http://www.ncf.ca/~bh447/pngdemo/ (modified so the dragging works in
> IE)
> h.. http://webfx.eae.net/dhtml/pngbehavior/demo.html
> i.. http://www.schaik.com/pngsuite/
> j.. http://home.tephras.com/temp/PNG/index2.html
> k.. http://www.libpng.org/pub/png/png-rgba32.html
> l.. http://trific.ath.cx/web/png/
> m.. http://toolkit.crispen.org/formats/png.html
> Shortly after checking in the feature, Dave Massy experimented with a
couple
> other tests such as playing a video underneath a transparent PNG.
Overall,
> transparent PNG support is looking quite solid in IE7, based on our tests.
>
> There are a couple points I feel are worth mentioning before wrapping this
> posting up. First, the type of PNG images that IE can render has been
> improved as a result of the work done. Previously, paletized PNG images
> with alpha would not render in IE. Now, these types of images should
render
> correctly. Second, it's worth noting that the AlphaImageLoader should
work
> in IE7 the same way that it worked in previous versions of IE. The
changes
> necessary to implement transparent PNG support should not have impacted
the
> ability to use this filter in any way. This should help with
> backwards-compatibility scenarios.
>
> There are also a couple of limitations worth mentioning:
>
> a.. Certain filters may not behave as expected due to how filters are
> implemented. Filters work by rendering the content of their attached
> element to their work surface and then modifying that surface before
> compositing it to the output surface. Because of this, alpha blending of
a
> transparent PNG with non-binary transparency may lead to unexpected
results.
> For example, applying a BasicImage filter with an opacity attribute to an
> IMG element with a transparent PNG will fill the work surface with the
> transparent PNG alpha alpha blended with a solid gray background. The
work
> surface will then be alpha blended at the specified opacity level with
> whatever is under the filter.
> b.. MSTime does not support non-binary transparency for PNGs. This is
> because MSTime doesn't understand anything other than binary index-based
> alpha. Because of this, transparent PNGs in MSTime elements are expected
to
> continue to render as they do in previous versions of IE.
> I'm very interested in providing the most robust transparent PNG
> implementation possible. If there are specific scenarios of interest to
you
> or if you know of other test pages that you would like to bring to my
> attention, please do so by posting a comment below.
>
> - Sam
>
> posted Tuesday, April 26, 2005 3:11 PM by ieblog with 79 Comments
>
>

cybarber
07-10-2005, 12:33 AM
In IE55,IE6 one can easily express PNGalpha by using a VML container image instead of the HTML img elment.

<html xmlns:v = "urn:schemas-microsoft-com:vml">
<head><title>Basic template for PNG alpha transparency expression through VML images in IE6</title>
<style> v \ : * { behavior: url(#default#vml); } </style>
</head>
<body>
<!-- Select IE non-IE browsers by conditional comments -->
<![if !IE]><img src="test.png"><![endif]><!--[if gt IE 5]>
<v:image src="test.png" /><![endif]--></body></html>


Demo page using VML container image to express PNG alpha channels in IE 55, IE6.
http://members.home.nl/cybarber/PNG-IE-VML-SAPI4.htm



"Kenny S" <hotmail@coldmail.com> schreef in bericht news:Oq2MUFnWFHA.3584@TK2MSFTNGP14.phx.gbl...
Seems like the IE6 team was too lazy..
They have NO IDEA what PNG support will do to transform the internet... yet
they were too lazy to make it work with their "untabbed" browser... Thank
god firefox make them wake up a bit....

http://blogs.msdn.com/ie/
IE7 Transparent PNG Implementation
My name is Sam Fortiner and I'm a developer on the Internet Explorer team
here at Microsoft. I joined the company about a year ago when I was given
the opportunity to work on IE. Since then I've worked on several aspects of
IE and recently settled down into the layout and display team. As part of
my work in this team, I implemented support for per-pixel alpha in PNGs.
Support for per-pixel alpha in PNGs in IE, or transparent PNGs as I'll refer
to them going forward, has been called many things over the last few years.
You can find places around the web where it was called:

a.. A simple bug-fix
b.. A missing and promised feature
c.. An optional feature per the PNG spec
d.. Impossible without a re-write of the display engine in IE
e.. Etc.
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.

The modifications to IE's image pipeline were required because transparency
in IE has historically only included palette based transparency or binary
transparency. The data structures and image formats necessary to pass
around more complex transparency information were not available. Adding
this information to the pipeline involved touching how all of the image
decoders worked and were displayed. Additionally, functionality to perform
the alpha blending needed to be hooked in.

The PNG decoder itself required a significant amount of work as well. For
example, paletized images with per-index alpha would lose their transparency
information and wouldn't even display in IE. Progressive display using
Adam7 interlacing was only minimally implemented and needed to be fleshed
out. New functionality needed to be added to perform format conversions
that previously hadn't been required. Addressing these types of issues in
the PNG decoder was part of the work that needed to be done to fully support
transparent PNGs.

To help validate the feature work I was doing, I frequently referred to the
following web pages to check the rendering behavior:

a.. http://www.w3.org/Graphics/PNG/inline-alpha.html
b.. http://www.silisoftware.com/png_alpha_transparency/
c.. http://apps.everamber.com/alpha/
d.. http://entropymine.com/jason/testbed/pngtrans/
e.. http://koivi.com/ie-png-transparency/
f.. http://homepage.ntlworld.com/bobosola/
g.. http://www.ncf.ca/~bh447/pngdemo/ (modified so the dragging works in
IE)
h.. http://webfx.eae.net/dhtml/pngbehavior/demo.html
i.. http://www.schaik.com/pngsuite/
j.. http://home.tephras.com/temp/PNG/index2.html
k.. http://www.libpng.org/pub/png/png-rgba32.html
l.. http://trific.ath.cx/web/png/
m.. http://toolkit.crispen.org/formats/png.html
Shortly after checking in the feature, Dave Massy experimented with a couple
other tests such as playing a video underneath a transparent PNG. Overall,
transparent PNG support is looking quite solid in IE7, based on our tests.

There are a couple points I feel are worth mentioning before wrapping this
posting up. First, the type of PNG images that IE can render has been
improved as a result of the work done. Previously, paletized PNG images
with alpha would not render in IE. Now, these types of images should render
correctly. Second, it's worth noting that the AlphaImageLoader should work
in IE7 the same way that it worked in previous versions of IE. The changes
necessary to implement transparent PNG support should not have impacted the
ability to use this filter in any way. This should help with
backwards-compatibility scenarios.

There are also a couple of limitations worth mentioning:

a.. Certain filters may not behave as expected due to how filters are
implemented. Filters work by rendering the content of their attached
element to their work surface and then modifying that surface before
compositing it to the output surface. Because of this, alpha blending of a
transparent PNG with non-binary transparency may lead to unexpected results.
For example, applying a BasicImage filter with an opacity attribute to an
IMG element with a transparent PNG will fill the work surface with the
transparent PNG alpha alpha blended with a solid gray background. The work
surface will then be alpha blended at the specified opacity level with
whatever is under the filter.
b.. MSTime does not support non-binary transparency for PNGs. This is
because MSTime doesn't understand anything other than binary index-based
alpha. Because of this, transparent PNGs in MSTime elements are expected to
continue to render as they do in previous versions of IE.
I'm very interested in providing the most robust transparent PNG
implementation possible. If there are specific scenarios of interest to you
or if you know of other test pages that you would like to bring to my
attention, please do so by posting a comment below.

- Sam

posted Tuesday, April 26, 2005 3:11 PM by ieblog with 79 Comments

C A Upsdell
07-10-2005, 12:34 AM
JoeM wrote:
> WE SURE DO FIREFOX IS CRAP just like NETSCAPE SLOW AND UNRELIABLE

On my PC Firefox and IE are equally fast and equally reliable.

MS-User
07-10-2005, 12:39 AM
I don't know why people keep talking about FIREFOX. I have both FireFox and
IE in my pc. I don't see there is anything difference. If you chose to use
FireFox is fine too. But I think they are pretty much working the same.
Thanks.

"cybarber" wrote:

> In IE55,IE6 one can easily express PNGalpha by using a VML container image instead of the HTML img elment.
>
> <html xmlns:v = "urn:schemas-microsoft-com:vml">
> <head><title>Basic template for PNG alpha transparency expression through VML images in IE6</title>
> <style> v \ : * { behavior: url(#default#vml); } </style>
> </head>
> <body>
> <!-- Select IE non-IE browsers by conditional comments -->
> <![if !IE]><img src="test.png"><![endif]><!--[if gt IE 5]>
> <v:image src="test.png" /><![endif]--></body></html>
>
>
> Demo page using VML container image to express PNG alpha channels in IE 55, IE6.
> http://members.home.nl/cybarber/PNG-IE-VML-SAPI4.htm
>
>
>
> "Kenny S" <hotmail@coldmail.com> schreef in bericht news:Oq2MUFnWFHA.3584@TK2MSFTNGP14.phx.gbl...
> Seems like the IE6 team was too lazy..
> They have NO IDEA what PNG support will do to transform the internet... yet
> they were too lazy to make it work with their "untabbed" browser... Thank
> god firefox make them wake up a bit....
>
> http://blogs.msdn.com/ie/
> IE7 Transparent PNG Implementation
> My name is Sam Fortiner and I'm a developer on the Internet Explorer team
> here at Microsoft. I joined the company about a year ago when I was given
> the opportunity to work on IE. Since then I've worked on several aspects of
> IE and recently settled down into the layout and display team. As part of
> my work in this team, I implemented support for per-pixel alpha in PNGs.
> Support for per-pixel alpha in PNGs in IE, or transparent PNGs as I'll refer
> to them going forward, has been called many things over the last few years.
> You can find places around the web where it was called:
>
> a.. A simple bug-fix
> b.. A missing and promised feature
> c.. An optional feature per the PNG spec
> d.. Impossible without a re-write of the display engine in IE
> e.. Etc.
> 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.
>
> The modifications to IE's image pipeline were required because transparency
> in IE has historically only included palette based transparency or binary
> transparency. The data structures and image formats necessary to pass
> around more complex transparency information were not available. Adding
> this information to the pipeline involved touching how all of the image
> decoders worked and were displayed. Additionally, functionality to perform
> the alpha blending needed to be hooked in.
>
> The PNG decoder itself required a significant amount of work as well. For
> example, paletized images with per-index alpha would lose their transparency
> information and wouldn't even display in IE. Progressive display using
> Adam7 interlacing was only minimally implemented and needed to be fleshed
> out. New functionality needed to be added to perform format conversions
> that previously hadn't been required. Addressing these types of issues in
> the PNG decoder was part of the work that needed to be done to fully support
> transparent PNGs.
>
> To help validate the feature work I was doing, I frequently referred to the
> following web pages to check the rendering behavior:
>
> a.. http://www.w3.org/Graphics/PNG/inline-alpha.html
> b.. http://www.silisoftware.com/png_alpha_transparency/
> c.. http://apps.everamber.com/alpha/
> d.. http://entropymine.com/jason/testbed/pngtrans/
> e.. http://koivi.com/ie-png-transparency/
> f.. http://homepage.ntlworld.com/bobosola/
> g.. http://www.ncf.ca/~bh447/pngdemo/ (modified so the dragging works in
> IE)
> h.. http://webfx.eae.net/dhtml/pngbehavior/demo.html
> i.. http://www.schaik.com/pngsuite/
> j.. http://home.tephras.com/temp/PNG/index2.html
> k.. http://www.libpng.org/pub/png/png-rgba32.html
> l.. http://trific.ath.cx/web/png/
> m.. http://toolkit.crispen.org/formats/png.html
> Shortly after checking in the feature, Dave Massy experimented with a couple
> other tests such as playing a video underneath a transparent PNG. Overall,
> transparent PNG support is looking quite solid in IE7, based on our tests.
>
> There are a couple points I feel are worth mentioning before wrapping this
> posting up. First, the type of PNG images that IE can render has been
> improved as a result of the work done. Previously, paletized PNG images
> with alpha would not render in IE. Now, these types of images should render
> correctly. Second, it's worth noting that the AlphaImageLoader should work
> in IE7 the same way that it worked in previous versions of IE. The changes
> necessary to implement transparent PNG support should not have impacted the
> ability to use this filter in any way. This should help with
> backwards-compatibility scenarios.
>
> There are also a couple of limitations worth mentioning:
>
> a.. Certain filters may not behave as expected due to how filters are
> implemented. Filters work by rendering the content of their attached
> element to their work surface and then modifying that surface before
> compositing it to the output surface. Because of this, alpha blending of a
> transparent PNG with non-binary transparency may lead to unexpected results.
> For example, applying a BasicImage filter with an opacity attribute to an
> IMG element with a transparent PNG will fill the work surface with the
> transparent PNG alpha alpha blended with a solid gray background. The work
> surface will then be alpha blended at the specified opacity level with
> whatever is under the filter.
> b.. MSTime does not support non-binary transparency for PNGs. This is
> because MSTime doesn't understand anything other than binary index-based
> alpha. Because of this, transparent PNGs in MSTime elements are expected to
> continue to render as they do in previous versions of IE.
> I'm very interested in providing the most robust transparent PNG
> implementation possible. If there are specific scenarios of interest to you
> or if you know of other test pages that you would like to bring to my
> attention, please do so by posting a comment below.
>
> - Sam
>
> posted Tuesday, April 26, 2005 3:11 PM by ieblog with 79 Comments
>
>

JoeM
07-10-2005, 12:39 AM
agreed for the most part there are somethings in firefox I like, download
manager, and some css support. BUt the Big thing that firfox stands on is
security, which from my test are not any more secure then IE or any other
browser for that matter.

Will keep supporting IE until something better comes along.

"MS-User" <MS-User@discussions.microsoft.com> wrote in message
news:D7C4A156-CFBF-4686-A134-FFB7A33C5A8C@microsoft.com...
>I don't know why people keep talking about FIREFOX. I have both FireFox and
> IE in my pc. I don't see there is anything difference. If you chose to use
> FireFox is fine too. But I think they are pretty much working the same.
> Thanks.
>
> "cybarber" wrote:
>
>> In IE55,IE6 one can easily express PNGalpha by using a VML container
>> image instead of the HTML img elment.
>>
>> <html xmlns:v = "urn:schemas-microsoft-com:vml">
>> <head><title>Basic template for PNG alpha transparency expression through
>> VML images in IE6</title>
>> <style> v \ : * { behavior: url(#default#vml); } </style>
>> </head>
>> <body>
>> <!-- Select IE non-IE browsers by conditional comments -->
>> <![if !IE]><img src="test.png"><![endif]><!--[if gt IE 5]>
>> <v:image src="test.png" /><![endif]--></body></html>
>>
>>
>> Demo page using VML container image to express PNG alpha channels in IE
>> 55, IE6.
>> http://members.home.nl/cybarber/PNG-IE-VML-SAPI4.htm
>>
>>
>>
>> "Kenny S" <hotmail@coldmail.com> schreef in bericht
>> news:Oq2MUFnWFHA.3584@TK2MSFTNGP14.phx.gbl...
>> Seems like the IE6 team was too lazy..
>> They have NO IDEA what PNG support will do to transform the internet...
>> yet
>> they were too lazy to make it work with their "untabbed" browser...
>> Thank
>> god firefox make them wake up a bit....
>>
>> http://blogs.msdn.com/ie/
>> IE7 Transparent PNG Implementation
>> My name is Sam Fortiner and I'm a developer on the Internet Explorer
>> team
>> here at Microsoft. I joined the company about a year ago when I was
>> given
>> the opportunity to work on IE. Since then I've worked on several
>> aspects of
>> IE and recently settled down into the layout and display team. As part
>> of
>> my work in this team, I implemented support for per-pixel alpha in
>> PNGs.
>> Support for per-pixel alpha in PNGs in IE, or transparent PNGs as I'll
>> refer
>> to them going forward, has been called many things over the last few
>> years.
>> You can find places around the web where it was called:
>>
>> a.. A simple bug-fix
>> b.. A missing and promised feature
>> c.. An optional feature per the PNG spec
>> d.. Impossible without a re-write of the display engine in IE
>> e.. Etc.
>> 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.
>>
>> The modifications to IE's image pipeline were required because
>> transparency
>> in IE has historically only included palette based transparency or
>> binary
>> transparency. The data structures and image formats necessary to pass
>> around more complex transparency information were not available.
>> Adding
>> this information to the pipeline involved touching how all of the image
>> decoders worked and were displayed. Additionally, functionality to
>> perform
>> the alpha blending needed to be hooked in.
>>
>> The PNG decoder itself required a significant amount of work as well.
>> For
>> example, paletized images with per-index alpha would lose their
>> transparency
>> information and wouldn't even display in IE. Progressive display using
>> Adam7 interlacing was only minimally implemented and needed to be
>> fleshed
>> out. New functionality needed to be added to perform format
>> conversions
>> that previously hadn't been required. Addressing these types of issues
>> in
>> the PNG decoder was part of the work that needed to be done to fully
>> support
>> transparent PNGs.
>>
>> To help validate the feature work I was doing, I frequently referred to
>> the
>> following web pages to check the rendering behavior:
>>
>> a.. http://www.w3.org/Graphics/PNG/inline-alpha.html
>> b.. http://www.silisoftware.com/png_alpha_transparency/
>> c.. http://apps.everamber.com/alpha/
>> d.. http://entropymine.com/jason/testbed/pngtrans/
>> e.. http://koivi.com/ie-png-transparency/
>> f.. http://homepage.ntlworld.com/bobosola/
>> g.. http://www.ncf.ca/~bh447/pngdemo/ (modified so the dragging works
>> in
>> IE)
>> h.. http://webfx.eae.net/dhtml/pngbehavior/demo.html
>> i.. http://www.schaik.com/pngsuite/
>> j.. http://home.tephras.com/temp/PNG/index2.html
>> k.. http://www.libpng.org/pub/png/png-rgba32.html
>> l.. http://trific.ath.cx/web/png/
>> m.. http://toolkit.crispen.org/formats/png.html
>> Shortly after checking in the feature, Dave Massy experimented with a
>> couple
>> other tests such as playing a video underneath a transparent PNG.
>> Overall,
>> transparent PNG support is looking quite solid in IE7, based on our
>> tests.
>>
>> There are a couple points I feel are worth mentioning before wrapping
>> this
>> posting up. First, the type of PNG images that IE can render has been
>> improved as a result of the work done. Previously, paletized PNG
>> images
>> with alpha would not render in IE. Now, these types of images should
>> render
>> correctly. Second, it's worth noting that the AlphaImageLoader should
>> work
>> in IE7 the same way that it worked in previous versions of IE. The
>> changes
>> necessary to implement transparent PNG support should not have impacted
>> the
>> ability to use this filter in any way. This should help with
>> backwards-compatibility scenarios.
>>
>> There are also a couple of limitations worth mentioning:
>>
>> a.. Certain filters may not behave as expected due to how filters are
>> implemented. Filters work by rendering the content of their attached
>> element to their work surface and then modifying that surface before
>> compositing it to the output surface. Because of this, alpha blending
>> of a
>> transparent PNG with non-binary transparency may lead to unexpected
>> results.
>> For example, applying a BasicImage filter with an opacity attribute to
>> an
>> IMG element with a transparent PNG will fill the work surface with the
>> transparent PNG alpha alpha blended with a solid gray background. The
>> work
>> surface will then be alpha blended at the specified opacity level with
>> whatever is under the filter.
>> b.. MSTime does not support non-binary transparency for PNGs. This
>> is
>> because MSTime doesn't understand anything other than binary
>> index-based
>> alpha. Because of this, transparent PNGs in MSTime elements are
>> expected to
>> continue to render as they do in previous versions of IE.
>> I'm very interested in providing the most robust transparent PNG
>> implementation possible. If there are specific scenarios of interest
>> to you
>> or if you know of other test pages that you would like to bring to my
>> attention, please do so by posting a comment below.
>>
>> - Sam
>>
>> posted Tuesday, April 26, 2005 3:11 PM by ieblog with 79 Comments
>>
>>

DevilsPGD
07-10-2005, 12:40 AM
In message <e1m6NPxXFHA.1384@TK2MSFTNGP09.phx.gbl> "JoeM"
<joem83@msn.com> wrote:

>agreed for the most part there are somethings in firefox I like, download
>manager, and some css support. BUt the Big thing that firfox stands on is
>security, which from my test are not any more secure then IE or any other
>browser for that matter.

From your tests? What did you test?

>Will keep supporting IE until something better comes along.

It already has.

--
It's only funny until somebody gets hurt...
Then it's hilarious.

JoeM
07-10-2005, 12:40 AM
I went to spyware infected websites, and the sites downloading programs and
tried to install them with FireFox 1.02. Norton & MSAS both flag files that
should not be installing in the background. This did not happen with IE
sp2.

"DevilsPGD" <spamsucks@crazyhat.net> wrote in message
news:uv52911oe5sa6s7erfnlo0htiv780hrc42@news.readfreenews.net...
> In message <e1m6NPxXFHA.1384@TK2MSFTNGP09.phx.gbl> "JoeM"
> <joem83@msn.com> wrote:
>
>>agreed for the most part there are somethings in firefox I like, download
>>manager, and some css support. BUt the Big thing that firfox stands on
>>is
>>security, which from my test are not any more secure then IE or any other
>>browser for that matter.
>
> From your tests? What did you test?
>
>>Will keep supporting IE until something better comes along.
>
> It already has.
>
> --
> It's only funny until somebody gets hurt...
> Then it's hilarious.


IE7 Transparent PNG Implementation