CDC *pDC;
CBitmap bitmap;
HBITMAP hBmp=NULL;
LPVOID lpBits=NULL;
CBitmap *pOldBitmap;
pDC=new CDC;
pDC->CreateCompatibleDC(&pdc);
// pDC->Attach(hdc);
//用CreateDIBSection()分配图像数据内存
hBmp=CreateDIBSection(pdc.GetSafeHdc(), //兼容DC句柄
(PBITMAPINFO)&bmpinfo, //位图信息头
DIB_RGB_COLORS, //色彩类型
&lpBits, //数据内存指针
// &lpBits,
NULL,0); if(hBmp==NULL)////////////////////////////////////////////////////////////////////
{
pDC->DeleteDC();
MessageBox(NULL,"Error!","Tips",MB_OK);
return false;
} // ASSERT(hBmp!=NULL);
bitmap.Attach(hBmp);
pOldBitmap = pDC->SelectObject(&bitmap); pDC->SetBkMode(TRANSPARENT);
memcpy(lpBits,str,size); 为什么使用CreateDIBSection函数会失败呢?程序到//////////////这一行就死了,hBmp是空的.
CBitmap bitmap;
HBITMAP hBmp=NULL;
LPVOID lpBits=NULL;
CBitmap *pOldBitmap;
pDC=new CDC;
pDC->CreateCompatibleDC(&pdc);
// pDC->Attach(hdc);
//用CreateDIBSection()分配图像数据内存
hBmp=CreateDIBSection(pdc.GetSafeHdc(), //兼容DC句柄
(PBITMAPINFO)&bmpinfo, //位图信息头
DIB_RGB_COLORS, //色彩类型
&lpBits, //数据内存指针
// &lpBits,
NULL,0); if(hBmp==NULL)////////////////////////////////////////////////////////////////////
{
pDC->DeleteDC();
MessageBox(NULL,"Error!","Tips",MB_OK);
return false;
} // ASSERT(hBmp!=NULL);
bitmap.Attach(hBmp);
pOldBitmap = pDC->SelectObject(&bitmap); pDC->SetBkMode(TRANSPARENT);
memcpy(lpBits,str,size); 为什么使用CreateDIBSection函数会失败呢?程序到//////////////这一行就死了,hBmp是空的.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货