我创建了一个BITMAPINFO结构体,像素点的数据存在一个数组里。
然后使用CreateDIBSection创建位图,怎么就不能显示呢?运行时,窗口变的没有背景了,也不能显示图像。
CRect rect;
GetClientRect(&rect);
//
CDC memDC;//用于缓存作图的内存DC
HBITMAP hBitmap = NULL;//内存中承载临时对象的位图
memDC.CreateCompatibleDC(NULL);//依附窗口DC,创建内存兼容DC
hBitmap = CreateCompatibleBitmap(memDC,rect.Width(),rect.Height());
//在内存DC中绘图
LPBYTE p = pDoc->GetPixels();//数据集指针
memDC.FillSolidRect(0,0,rect.right,rect.bottom,RGB(255,255,255));//填充窗口hBitmap = CreateDIBSection(memDC,bitmapInfo,DIB_RGB_COLORS,(void**)&p,NULL,0);//创建位图memDC.SelectObject(&hBitmap);//将位图选择进内存DCpDC->BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,SRCCOPY);//显示内存DC中的图像if(hBitmap)DeleteObject(hBitmap);//删除位图
memDC.DeleteDC();//删除内存DC