Color type 3 PNG-writing bug in
ThumbsPlus v4.10 build 2009 on WindowsNT 4
Intent: to document a bug discovered in the application software ThumbsPlus v4
Background:
There are different classifications for PNG images according to how the pixel values are stored internally, and what range those values can span. The Web designer will be primarily concerned with two types: Color type 2 (or 6, although the alpha-channel is not yet well-supported by browsers), which is the PNG Truecolor format capable of displaying as many colors as, for instance, a JPEG does (no dithering or "quantization"); and Color type 3, which is color-mapped or "palette" -based. The GIF format is exclusively a color-mapped format.
Thus, direct conversion of GIFs to PNGs takes place in the context of a palette (color-mapped) image to another color-mapped image, and in most cases this is exactly what would be desired. Most software for making such conversions will make the output a PNG Color type 3 image by default, if starting with a GIF image. Furthermore the transparency features of most current browsers are limited (although the PNG format is not) to these palette PNG images. This means that it would be necessary in any case where the target medium of the PNG output file is the Web, that it be in the Color type 3 type in order that attributes like binary on/off transparency à la GIF89a can be preserved.
The Problem:
ThumbsPlus is a popular shareware-distributed image cataloging and conversion program for Macintosh and Windows. In its latest release version for my platform (Win32) it exhibits a serious bug which makes much of its converted PNG Color type 3 image output unusable (dependent upon specific charateristics of the particular image data).
The Speculative Explanation:
The trouble in the case of ThumbsPlus is that the mapping of the pixel values to palette entries is being corrupted internally in the format conversion process -- and in my opinion there is no particularly good reason for this to be happening, since the mathematically more complex process of quantization (which as I understand the term is reduction of colors -- "mapping" -- to the maximum 256 that can exist in a palette-type image) does not have to be invoked in this instance. That is, the conversion of a color-mapped image (one without any file gamma meta-information, such as the aged GIF format) to another color-mapped image could (and in the preferences of expert users, probably should) simply involve the "copying" of the color table (palette) from one format's internal structure to the other format's structure. Instead, ThumbsPlus is most likely internally converting the image into an RGB type and then applying quantization to the pixel data, creating a new color table. In this process, the technical details (proprietary code) to which I am not privy, something is going very wrong.
Somewhere in this process the PNG palette is subjected to some bug, causing the highest values (highlights or whites) in the image to be converted to other values. The visual result is an ugly blooming of fungus-like speckles on the example image seen here. It looks rather as if the fruit has been left out too long!