2.1.32 StretchMode Enumeration
The StretchMode enumeration is used to specify how color data is added to or removed from bitmaps that are stretched or compressed.<41>
-
typedef enum { STRETCH_ANDSCANS = 0x01, STRETCH_ORSCANS = 0x02, STRETCH_DELETESCANS = 0x03, STRETCH_HALFTONE = 0x04 } StretchMode;
STRETCH_ANDSCANS: 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.
STRETCH_ORSCANS: 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.
STRETCH_DELETESCANS: Deletes the pixels. This mode deletes all eliminated lines of pixels without trying to preserve their information.
STRETCH_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 STRETCH_HALFTONE stretching mode, the brush origin SHOULD be defined by an EMR_SETBRUSHORGEX record. If it fails to do so, brush misalignment can occur.