SetStretchBltMode
The SetStretchBltMode
function sets the bitmap stretching mode in the specified device context.
int SetStretchBltMode(
HDC hdc, |
// handle of device
context |
int iStretchMode |
// bitmap
stretching mode |
); |
|
Parameters
hdc
Identifies
the device context.
iStretchMode
Specifies the
stretching mode. It can be one of the following values:
Value |
Description |
BLACKONWHITE |
Performs a
Boolean AND operation using the color values for the eliminated and existing
pixels. If the bitmap is a monochrome bitmap, this mode preserves black
pixels at the expense of white pixels. |
COLORONCOLOR |
Deletes the
pixels. This mode deletes all eliminated lines of pixels without trying to
preserve their information. |
HALFTONE |
Maps pixels
from the source rectangle into blocks of pixels in the destination rectangle.
The average color over the destination block of pixels approximates the color
of the source pixels. |
|
After
setting the HALFTONE stretching mode, an application must call the SetBrushOrgEx |
STRETCH_ANDSCANS |
Same as
BLACKONWHITE. |
STRETCH_DELETESCANS |
Same as
COLORONCOLOR. |
STRETCH_HALFTONE |
Same as
HALFTONE. |
STRETCH_ORSCANS |
Same as
WHITEONBLACK. |
WHITEONBLACK |
Performs a
Boolean OR operation using the color values for the eliminated and existing
pixels. If the bitmap is a monochrome bitmap, this mode preserves white
pixels at the expense of black pixels. |
Return Values
If the
function succeeds, the return value is the previous stretching mode.
If the
function fails, the return value is zero.
Remarks
The
stretching mode defines how Windows combines rows or columns of a bitmap with
existing pixels on a display device when an application calls the StretchBlt
function.
The
BLACKONWHITE (STRETCH_ANDSCANS) and WHITEONBLACK (STRETCH_ORSCANS) modes are
typically used to preserve foreground pixels in monochrome bitmaps. The
COLORONCOLOR (STRETCH_DELETESCANS) mode is typically used to preserve color in
color bitmaps.
The HALFTONE
mode requires more processing of the source image than the other three modes;
it is slower than the others but produces higher quality images. Also note that
SetBrushOrgEx must be called after setting the HALFTONE mode to avoid
brush misalignment.
Additional
stretching modes might also be available depending on the capabilities of the
device driver.
See Also