6.3 Specifying Color Support

Most printers support one of two color methods: planar or pixel. Devices which use the “pixel” method send all of the RGB data for a single pixel at once, typically using at least two bytes per single pixel. The Universal Printer Driver does not support color on printers which require color-raster graphic data using the pixel method.

Printers which use the planar method send the color data for a single pixel in several passes (planes). The value that results from combining the data for one pixel in each plane determines the color that pixel will assume. Devices that use the planar method typically use 3 or 4 color planes. A three-plane model represents cyan data in one plane, yellow data in a second plane, and magenta data in a third plane. By combining inks from these three basic colors (Cyan, Yellow, and Magenta), the device is able to render images of up to eight colors. A four-plane model is identical to the three-plane model except for the addition of a fourth plane that represents black data. (In the three-plane model, cyan, yellow, and magenta ink is combined in equal parts to create black output.)

Until recently, most color printers used planar models to represent color images; therefore, the current version of the DMCOLOR library and the UniTool application support this model (rather than the pixel model). A minidriver developer can provide a callback function to convert planar color data into pixel color data; however, in some instances, the converted data will not take advantage of a printer's color-output capabilities. For example, DMCOLOR allows a maximum of eight colors (Cyan, Blue, Magenta, Red, Yellow, Green, White, and Black). This means that DMCOLOR converts any 256-color pixel image into an 8-color planar image. If a printer is capable of supporting 256 colors, it would not be able to display the original image, even if it provided the callback function. Obviously, some printers are better supported by the original Windows driver interface.

The DEVCOLOR dialog box contains controls which you use to specify the color capabilities of printers that render color output. These controls allow you to specify values such as the number of color planes supported by printers that use a color-plane format, the number of bits per pixel supported by printers that use a bit-per-pixel format, the device commands which select colors, and so on. The following illustration shows the DEVCOLOR dialog box.

Because neither the Diconix nor the HP LaserJet IIP printers provide color support, this section contains information for an additional printer—the Hewlett-Packard PaintJet.