int SetDIBits( HDC hdc, // handle to DC HBITMAP hbmp, // handle to bitmap UINT uStartScan, // starting scan line UINT cScanLines, // number of scan lines CONST VOID *lpvBits, // array of bitmap bits 这就是在内存里面的位图数据。 CONST BITMAPINFO *lpbmi, // bitmap data UINT fuColorUse // type of color indexes to use );
hbmp = (HBITMAP)::LoadImage( AfxGetInstanceHandle(),
"bitmap1.bmp",IMAGE_BITMAP,0,0,
LR_LOADFROMFILE);
CBitmap& bitmap1;
(HBITMAP)bitmap1.GetSafeHandle(),
IMAGE_BITMAP,lRect.Width(),lRect.Height(),
LR_LOADFROMFILE|LR_CREATEDIBSECTION);
HDC hdc, // handle to DC
HBITMAP hbmp, // handle to bitmap
UINT uStartScan, // starting scan line
UINT cScanLines, // number of scan lines
CONST VOID *lpvBits, // array of bitmap bits 这就是在内存里面的位图数据。
CONST BITMAPINFO *lpbmi, // bitmap data
UINT fuColorUse // type of color indexes to use
);
首先读取位图文件的头信息,
并得到数据偏移的地址
填写相应的函数参数即可
详细情况可以参详msdn的函数使用,
和位图的文件格式说明
CreateDIBitmap()