?
Hallo,
ich habe ein Problem mit dem Auslesen der Bildinformationen aus einem CBitmap.
CDC* pDC = m_view->GetDC();
CDC memDC; memDC.CreateCompatibleDC(pDC);
CBitmap* pBitmap = new CBitmap;
pBitmap->CreateCompatibleBitmap(pDC, r.Width(), r.Height());
memDC.BitBlt( 0, 0, r.Width(), r.Height(),pDC, r.left, r.top, SRCCOPY );
BITMAP bm;
pBitmap->GetBitmap(&bm);
BITMAPINFO bmi;
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biWidth = bm.bmWidth;
bmi.bmiHeader.biHeight = bm.bmHeight;
bmi.bmiHeader.biBitCount = bm.bmBitsPixel;
bmi.bmiHeader.biPlanes = bm.bmPlanes;
bmi.bmiHeader.biCompression = BI_RGB;
bmi.bmiHeader.biSizeImage = bm.bmBitsPixel * bm.bmWidth * bm.bmHeight / 8;
BYTE *byteArr = new BYTE[bmi.bmiHeader.biSizeImage];
::GetDIBits( memDC.GetSafeHdc(),
(HBITMAP)&pBitmap,
0,
bmi.bmiHeader.biHeight,
byteArr,
&bmi,
DIB_RGB_COLORS );
Eigentlich sollten die Bilddaten jetzt in byteArr enthalten sein, sind sie aber nicht! Was mache ich falsch?