2003.02.04 17:23 "Re: Pre-multiplied alpha", by Daniel McCoy
From: Dante Allegria <firstname.lastname@example.org>
--- Chris Cox <email@example.com> wrote: >
Sorry, but nothing changed in that regard.
TIFF specifies that images with transparency (at least one associated alpha channel) must be premultiplied (black for RGB/Grayscale, white for CMYK), and Photoshop has always and will continue to treat it that way until the TIFF specification changes.
Perhaps I misstated what I had meant. I have a test image file that has its colour data pre-multiplied with its alpha already, while also supplying the alpha plane. In the ExtraSamples tag, it is set to a value of 1 (Associated alpha data with pre-multiplied color). For more info, see Section 18 of the TIFF6 standard. In Photoshop 6, it seems to think that this tag is set to 2 and not 1. Attached is a sample tiff demonstrating the problem.
The tags in that image look right for a premultiplied image, but the pixels all have an alpha value of zero, even in the red pixels. Images with a color value > alpha value are sort of ill-defined and something tells me that may not be what you intended.
I don't have Photoshop handy (I'm at a linux box), Pixar's internal tools can show the image just fine, as can shake but the gimp sees the zero alpha and just seems to ignore the color. I do know that a few Photoshop revisions ago, it was common practice around here to run tiff files through a filter that clamped all the color channels to be <= alpha before sending them to Photoshop.
I'm not sure what Adobe assumes should be done with over-alpha colors, but in general such images but in practice, software handling of this kind of image is pretty varied depending on the assumptions of the authors. If you have a package that understands high-dynamic range images it'll likely handle them fine, but a package which expects a normalized color range, (like I would assume Photoshop is), having color > alpha can break a whole lot of software assumptions.
Daniel McCoy Pixar