About the DrawDib Functions
Collectively, the DrawDib functions are similar to the StretchDIBits
function in that they provide image-stretching and dithering capabilities.
However, the DrawDib functions support image decompression, data-streaming, and a
greater number of display adapters.
You will find it beneficial to use the DrawDib functions in some
circumstances. Still, StretchDIBits
is more diverse than the DrawDib functions and should be used when the
DrawDib functions cannot provide the desired functionality. The following list
describes factors to consider when deciding whether to use the DrawDib functions or StretchDIBits
- Color table information format. DrawDib functions display images that use the DIB_RGB_COLORS format for their
color table. If images in your application store color table information with
the DIB_PAL_COLORS or DIB_PAL_INDICES format, you must use StretchDIBits to display them.
- Transfer mode. DrawDib functions require that your application use the SRCCOPY transfer
mode. If your application uses StretchDIBits with a transfer mode other than SRCCOPY, you should continue to use StretchDIBits. Similarly, if you need to use other raster operations in your application,
such as an XOR, use StretchDIBits.
- Quality of video and animation playback. You can use the DrawDib functions for data-streaming applications, such as
those that play video clips and animated sequences. The DrawDib functions
outperform StretchDIBits in that they provide higher-quality images and improve motion during
- Display adapters. DrawDib functions support a greater number of display adapters than StretchDIBits supports. The DrawDib functions support VGA color adapters that provide
16-color palettes using 4-bit image depth, SVGA adapters that provide 256-color
palettes using 8-bit image depth, and true-color display adapters that provide
thousands of colors using 16-bit, 24-bit, and 32-bit image depths.
The DrawDib functions also improve the speed and quality of displaying images
on display adapters with more limited capabilities. For example, when using an
8-bit display adapter, the DrawDib functions efficiently dither true-color
images to 256 colors. They also dither 8-bit images when using 4-bit display
- Image-stretching. Like StretchDIBits, the DrawDib functions use source and destination rectangles to control the
portion of an image that is displayed. You can crop unwanted portions of an
image or stretch an image by varying the position and size of the source and
destination rectangles. If a display driver does not support image-stretching, the
DrawDib functions provide more efficient stretching capabilities than StretchDIBits.
- Compressed images. The DrawDib functions support several compression and decompression methods,
including run-length encoding, JPEG, Cinepak, 411 YUV, and Indeo.
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages