LPSTR lpData=(LPSTR)GlobalAlloc(GPTR,size);
BITMAPINFOHEADER bih;
.....
GetDIBits(dc,bm,0,bih.biHeight,lpData,(BITMAPINFO*)&bih,DIB_RGB_COLORS);
CDC* hdc=GetDC();如何用StretchDIBits把DIB图像显示出来
BITMAPINFOHEADER bih;
.....
GetDIBits(dc,bm,0,bih.biHeight,lpData,(BITMAPINFO*)&bih,DIB_RGB_COLORS);
CDC* hdc=GetDC();如何用StretchDIBits把DIB图像显示出来
if(bf.Open(name,CFile::modeCreate|CFile::modeWrite)){
bf.WriteHuge(&bfh,sizeof(BITMAPFILEHEADER));
bf.WriteHuge(&bih,sizeof(BITMAPINFOHEADER));
bf.WriteHuge(lpData,size);
bf.Close();
}
CDC* hdc=GetDC();
StretchDIBits(*hdc,0,0,bih.biWidth,bih.biHeight,0,0,bih.biWidth,bih.biHeight,lpData,
(BITMAPINFO*)&bih,DIB_RGB_COLORS,SRCCOPY);
这个代码写入文件没有问题,用StretchDIBits显示不出来
HDC hDC=GetDC(hWnd);
HBITMAP hBitmap;
BYTE *pMem,*pBits;
/*.
.
初始化pBits;
初始化pbi;
.*/
hBitmap=CreateDIBitmap(hDC,&pbi->bmiHeader,CBM_INIT,pBits,pbi,DIB_RGB_COLORS);
DrawState(hDC,NULL,(LPARAM)hBitmap,,,,,DST_BITMAP);//绘制