我尝试将未签名的char数组转换为MFC中的Bitmap,如下所示。
BITMAPFILEHEADER* bmfh;
bmfh = (BITMAPFILEHEADER*)rgbByte;
BITMAPINFOHEADER* bmih;
bmih = (BITMAPINFOHEADER*)(rgbByte + sizeof(BITMAPFILEHEADER));
BITMAPINFO* bmi;
bmi = (BITMAPINFO*)bmih;
void* bits;
bits = (void*)(rgbByte + bmfh->bfOffBits);
HDC hdc = ::GetDC(NULL);
HBITMAP hbmp = CreateDIBitmap(hdc, bmih, CBM_INIT, bits, bmi, DIB_RGB_COLORS) ;
rgbByte是我的unsigned char数组,问题是hbmp总是未使用且永远不会获取数据。问题是什么? 感谢
答案 0 :(得分:0)
HDC hdc = ::GetDC(NULL);
获取整个屏幕的DC。我怀疑那是你想要的。您更有可能在窗口或图像控件中放置位图。您需要通过传递给GetDC()它的m_hWnd
成员来获取该窗口的DC。