Device-independent bitmaps (DIBs) are bitmaps in a new format that was designed to provide a device-independent way for applications to transfer bitmap images to a variety of output devices. Besides the bitmap bits, these bitmaps contain color-table information and additional dimension information.
A printer driver should include support for DIBs, especially in color devices. If a driver does not support DIBs, GDI can convert DIBs into the standard monochrome bitmap format, but the quality of DIB output will rarely be satisfactory in such situations.
If a printer driver can do more with the bitmap, it should attempt to support DIBs handling, especially if it can perform its own half-toning or coloring of bitmaps. To enable such functionality, the driver should support the SetDIBitsToDevice and StretchDIBits functions, and possibly support the SetDIBits and GetDIBits functions if the driver deals with GDI bitmaps.