BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );
x
Specifies the logical x-coordinate of the upper-left corner of the destination rectangle.
y
Specifies the logical y-coordinate of the upper-left corner of the destination rectangle.
nWidth
Specifies the width (in logical units) of the destination rectangle and source bitmap.
nHeight
Specifies the height (in logical units) of the destination rectangle and source bitmap.
pSrcDC
Pointer to a CDC object that identifies the device context from which the bitmap will be copied. It must be NULL if dwRop specifies a raster operation that does not include a source.
xSrc
Specifies the logical x-coordinate of the upper-left corner of the source bitmap.
ySrc
Specifies the logical y-coordinate of the upper-left corner of the source bitmap.
dwRop
Specifies the raster operation to be performed. Raster-operation codes define how the graphics device interface (GDI) combines colors in output operations that involve a current brush, a possible source bitmap, and a destination bitmap. The following lists raster-operation codes for dwRop:
Code | Description |
BLACKNESS | Turns all output black. | |
DSTINVERT | Inverts the destination bitmap. | |
MERGECOPY | Combines the pattern and the source bitmap using the Boolean AND operator. | |
MERGEPAINT | Combines the inverted source bitmap with the destination bitmap using the Boolean OR operator. | |
, | ||
NOTSRCCOPY | Copies the inverted source bitmap to the destination. | |
NOTSRCERASE | Inverts the result of combining the destination and source bitmaps using the Boolean OR operator. | |
PATCOPY | Copies the pattern to the destination bitmap. | |
PATINVERT | Combines the destination bitmap with the pattern using the Boolean XOR operator. | |
PATPAINT | Combines the inverted source bitmap with the pattern using the Boolean OR operator. Combines the result of this operation with the destination bitmap using the Boolean OR operator. | |
SRCAND | Combines pixels of the destination and source bitmaps using the Boolean AND operator. | |
SRCCOPY | Copies the source bitmap to the destination bitmap. | |
SRCERASE | Inverts the desination bitmap and combines the result with the source bitmap using the Boolean AND operator. | |
SRCINVERT | Combines pixels of the destination and source bitmaps using the Boolean XOR operator. | |
SRCPAINT | Combines pixels of the destination and source bitmaps using the Boolean OR operator. | |
WHITENESS | Turns all output white. |
For a complete list of raster-operation codes, see the Windows Software Development Kit documentation.
Copies a bitmap from the source device context to this current device context.
The application can align the windows or client areas on byte boundaries to ensure that the BitBlt operations occur on byte-aligned rectangles. (Set the CS_BYTEALIGNWINDOW or CS_BYTEALIGNCLIENT flags when you register the window classes.)BitBlt operations on byte-aligned rectangles are considerably faster than BitBlt operations on rectangles that are not byte aligned. If you want to specify class styles such as byte-alignment or your own device context, you will have to register a window class rather than relying on the Foundation classes to do it for you. Use the Foundation global function AfxRegisterWndClass.
GDI transforms nWidth and nHeight, once by using the destination display context, and once by using the source display context. If the resulting extents do not match, GDI uses the Windows StretchBlt function to compress or stretch the source bitmap as necessary.
If destination, source, and pattern bitmaps do not have the same color format, the BitBlt function converts the source and pattern bitmaps to match the destination. The foreground and background colors of the destination are used in the conversion.
Note that not all device contexts support BitBlt. To check whether a given device context does support BitBlt, use GetDeviceCaps.
TRUE if the bitmap is drawn; otherwise FALSE.
CDC::GetDeviceCaps, CDC::PatBlt, CDC::SetTextColor, CDC::StretchBlt, ::StretchDIBits, ::BitBlt