META_SETDIBTODEV

The SetDIBitsToDevice function sets the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a device-independent bitmap (DIB). 
int SetDIBitsToDevice(
  

    HDC  hdc,	// handle of device context 
    int  XDest,	// x-coordinate of upper-left corner of dest. rect. 
    int  YDest,	// y-coordinate of upper-left corner of dest. rect. 
    DWORD  dwWidth,	// source rectangle width 
    DWORD  dwHeight,	// source rectangle height 
    int  XSrc,	// x-coordinate of lower-left corner of source rect. 
    int  YSrc,	// y-coordinate of lower-left corner of source rect. 
    UINT  uStartScan,	// first scan line in array 
    UINT  cScanLines,	// number of scan lines 
    CONST VOID *  lpvBits,	// address of array with DIB bits 
    CONST BITMAPINFO *  lpbmi,	// address of structure with bitmap info. 
    UINT  fuColorUse 	// RGB or palette indices 
   );	
Parameters
hdc
Identifies the device context. 
XDest
Specifies the x-coordinate, in logical units, of the upper-left corner of the destination rectangle. 
YDest
Specifies the y-coordinate, in logical units, of the upper-left corner of the destination rectangle. 
dwWidth
Specifies the width, in logical units, of the DIB. 
dwHeight
Specifies the height, in logical units, of the DIB. 
XSrc
Specifies the x-coordinate, in logical units, of the lower-left corner of the DIB. 
YSrc
Specifies the y-coordinate, in logical units, of the lower-left corner of the DIB. 
uStartScan
Specifies the starting scan line in the DIB. 
cScanLines
Specifies the number of DIB scan lines contained in the array pointed to by the lpvBits parameter. 
lpvBits
Points to DIB color data stored as an array of bytes. 
lpbmi
Points to a BITMAPINFO structure that contains information about the DIB.
fuColorUse
Specifies whether the bmiColors member of the BITMAPINFO structure contains explicit red, green, blue (RGB) values or indices into a palette. The fuColorUse parameter must be one of the following values: 
  
Value	Meaning

DIB_PAL_COLORS	The color table consists of an array of 16-bit indices into the currently selected logical palette.
DIB_RGB_COLORS	The color table contains literal RGB values.
Return Value
If the function succeeds, the return value is the number of scan lines set.
If the function fails, the return value is zero. To get extended error information, call GetLastError. 
Remarks
Optimal bitmap drawing speed is obtained when the bitmap bits are indices into the system palette. 
Applications can retrieve the system palette colors and indices by calling the GetSystemPaletteEntries function. After the colors and indices are retrieved, the application can create the DIB. For more information about the system palette, see Colors. 
The origin of a bottom-up DIB is the lower-left corner of the bitmap; the origin of a top-down DIB is the upper-left corner. 
To reduce the amount of memory required to set bits from a large device-independent bitmap on a device surface, an application can band the output by repeatedly calling SetDIBitsToDevice, placing a different portion of the bitmap into the lpvBits array each time. The values of the uStartScan and cScanLines parameters identify the portion of the bitmap contained in the lpvBits array. 
The SetDIBitsToDevice function returns an error if it is called by a process that is running in the background while a full-screen MS-DOS session runs in the foreground.
See Also
BITMAPINFO, GetSystemPaletteEntries, SetDIBits, StretchDIBits 


META_CREATEPATTERNBRUSH
The CreatePatternBrush function creates a logical brush with the specified bitmap pattern. The bitmap cannot be a DIB section bitmap, which is created by the CreateDIBSection function.
HBRUSH CreatePatternBrush(
  

    HBITMAP  hbmp 	// handle to bitmap 
   );	
Parameters
hbmp
Identifies the bitmap to be used to create the logical brush. 
Windows 95: Creating brushes from bitmaps or DIBs larger than 8x8 pixels is not supported. If a larger bitmap is specified, only a portion of the bitmap is used.
Return Value
If the function succeeds, the return value identifies a logical brush.
If the function fails, the return value is NULL. 
Remarks
A pattern brush is a bitmap that Windows uses to paint the interiors of filled shapes. 
After an application creates a brush by calling CreatePatternBrush, it can select that brush into any device context by calling the SelectObject function. 
You can delete a pattern brush without affecting the associated bitmap by using the DeleteObject function. Therefore, you can then use this bitmap to create any number of pattern brushes. 
A brush created by using a monochrome (1 bit per pixel) bitmap has the text and background colors of the device context to which it is drawn. Pixels represented by a 0 bit are drawn with the current text color; pixels represented by a 1 bit are drawn with the current background color. 
The bitmap identified by hbmp cannot be a DIB section, which is a bitmap created by the CreateDIBSection function. If the bitmap is a DIB section, the CreatePatternBrush function fails.
See Also
CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateDIBSection, CreateHatchBrush, DeleteObject, GetBrushOrgEx, LoadBitmap, SelectObject, SetBrushOrgEx 


 


META_CREATEPENINDIRECT


