The PNG Guide is an eBook based on Greg Roelofs' book, originally published by O'Reilly.



Microsoft Internet Explorer

Microsoft's web browser lagged Netscape's in features and performance through its first two major releases, but with the release of Internet Explorer 3.0, general consensus was that it had largely caught up. IE 3.0 was the first Microsoft release to include support for Netscape-style plug-ins and, in that manner, became the first release to support PNG in any way--though only on the Windows platform. But with the release of the first IE 4.0 beta in the spring of 1997, followed by the official public release of version 4.0 in October 1997, Microsoft took the lead from Netscape, at least in terms of PNG support. IE 4.0 for Windows incorporated native PNG support, including progressive display, gamma correction, and some transparency. The latter was an odd sort of binary transparency, however, and apparently applied only to RGBA-palette images; images with a full alpha channel were rendered completely opaque, always against a light gray background. For palette images, IE's threshold for deciding which pixels were opaque and which were transparent was not set at 0.3%, as the PNG specification somewhat unfortunately recommends, nor at 50%, as one might intuitively expect, but instead at something like 99.7% opacity. That is, unless a given pixel were completely opaque, IE 4.0 would render it completely transparent. Needless to say, this resulted in some odd and unintended rendering effects that could have been mitigated by dithering the alpha channel down to a binary transparency mask.

Internet Explorer's handling of PNG images in HTML 4.0 OBJECT tags is decidedly buggy. Like Navigator, it will fail to render an OBJECT PNG with its native code, instead preferring to seek an ActiveX plug-in of some sort. But IE 4.0 does not necessarily limit itself to its own plug-ins; it has been observed to adopt Netscape plug-ins from elsewhere on the computer, and since it apparently doesn't support the Navigator 4.0 plug-in API, it fails on newer plug-ins such as PNG Live 2.0. Even worse, when two (or more) OBJECTs are nested, IE 4.0 will attempt to render both images.

It is also noteworthy that Internet Explorer 4.0 cannot be used to view standalone PNG images, even though it can do so if the images are embedded within a web page with IMG tags. Presumably this was simply an oversight, but it has ramifications for setting up the PNG media type within the Windows registry.

Internet Explorer 5.0 for 32-bit Windows was released in March 1999, and in most respects its PNG support was unchanged from version 4.0. The inability to view standalone PNGs was fixed (allowing IE 5.0 to be used as an ordinary image viewer), but in all other regards PNG support appears to have stagnated. OBJECT PNGs are still only displayed if the ``Run ActiveX Controls and Plug-ins'' setting is enabled (under ToolsInternet OptionsSecurity), even though it ends up using the same internal PNG code as it does for IMG PNGs. Even worse, OBJECT PNGs are given a fat border, which results in the appearance of horizontal and vertical scrollbars around each one, and there is no transparency support at all for OBJECTs. As in IE 4.0, nested OBJECTs are all rendered, side by side. With ActiveX disabled, IE 5.0 does revert to whatever IMG tag is inside the OBJECTs, but not before it pops up one or two warning boxes every time it displays such a web page. Its transparency support is unchanged; only palette images are displayed with transparency, and the threshold for complete transparency is still set at 99.7% opacity.

Fortunately for Mac users, the development of Internet Explorer for Macintosh is handled by a separate group, and the yet-unreleased version 5.0 reportedly will have complete support for alpha transparency in PNG images. Of course, in the meantime, Mac fans are stuck with version 4.5, which has no PNG support at all.

Official releases of IE 5.0 exist for Windows 3.x, Windows 9x/NT, and two flavors of Unix (Solaris and HP-UX). PNG support in the Unix and 16-bit Windows versions is reported to be similar to that in the 32-bit Windows version.

Table 2-3 summarizes Internet Explorer's level of PNG support to date. The Internet Explorer home page is currently at http://www.microsoft.com/windows/ie/.

Table 2-3. PNG Support in Internet Explorer

Version PNG support? Level of Support
IE 1.x No N/A
IE 2.x No N/A
IE 3.x Plug-in EMBED tag only; no transparency
IE 4.0 Native (Win32; Unix?)

IMG; binary transparency (palette images only) with skewed threshold

IE 4.5 Plug-in (Macintosh only) EMBED tag only; no transparency
IE 5.x Native (Win32)

IMG; binary transparency (palette images only) with skewed threshold

IE 5.x

Native (Macintosh)

IMG; full alpha transparency

IE 6.x Native (Win32)

IMG; binary transparency (palette images only) with skewed threshold




Last Update: 2010-Nov-26