EmfStretchDiBits

EmfStretchDiBits class

The EMR_STRETCHDIBITS record specifies a block transfer of pixels from a source bitmap to a destination rectangle, optionally in combination with a brush pattern, according to a specified raster operation, stretching or compressing the output to fit the dimensions of the destination, if necessary.

public sealed class EmfStretchDiBits : EmfBitmapRecordType

Constructors

NameDescription
EmfStretchDiBits(EmfRecord)Initializes a new instance of the EmfStretchDiBits class.

Properties

NameDescription
BitBltRasterOperation { get; set; }Gets or sets a 32-bit unsigned integer that specifies a raster operation code. These codes define how the color data of the source rectangle is to be combined with the color data of the destination rectangle and optionally a brush pattern, to achieve the final color.
Bounds { get; set; }Gets or sets a WMF RectL object ([MS-WMF] section 2.2.2.19) that defines the destination bounding rectangle in device units.
CxDest { get; set; }Gets or sets a 32-bit signed integer that specifies the logical width of the destination rectangle.
CxSrc { get; set; }Gets or sets a 32-bit signed integer that specifies the width in pixels of the source rectangle.
CyDest { get; set; }Gets or sets a 32-bit signed integer that specifies the logical height of the destination rectangle.
CySrc { get; set; }Gets or sets a 32-bit signed integer that specifies the height in pixels of the source rectangle.
Size { get; set; }Gets or sets the size of the record
SourceBitmap { get; set; }Gets or sets a buffer containing the source bitmap, which is not required to be contiguous with the fixed portion of the EMR_STRETCHDIBITS record. Accordingly, fields in this buffer that are labeled “UndefinedSpace” are optional and MUST be ignored.
Type { get; set; }Gets or sets the type.
UsageSrc { get; set; }Gets or sets a 32-bit unsigned integer that specifies how to interpret values in the color table in the source bitmap header. This value MUST be in the DIBColors enumeration (section 2.1.9).
XDest { get; set; }Gets or sets a 32-bit signed integer that specifies the logical x-coordinate of the upper-left corner of the destination rectangle.
XSrc { get; set; }Gets or sets a 32-bit signed integer that specifies the x-coordinate in pixels of the upper-left corner of the source rectangle.
YDest { get; set; }Gets or sets a 32-bit signed integer that specifies the logical y-coordinate of the upper-left corner of the destination rectangle.
YSrc { get; set; }Gets or sets a 32-bit signed integer that specifies the y-coordinate in pixels of the upper-left corner of the source rectangle.

Remarks

This record supports source images in JPEG and PNG formats. The Compression field in the source bitmap header specifies the image format. If the signs of the source and destination height and width fields differ, this record specifies a mirror-image copy of the source bitmap to the destination. That is, if cxSrc and cxDest have different signs, a mirror image of the source bitmap along the x-axis is specified. If cySrc and cyDest have different signs, a mirror image of the source bitmap along the y-axis is specified.

See Also