MFCで画像表示3
CreateDIBSectionで表示。
void *buffer; // 画像ビット配列 BITMAPINFO bmi; ZeroMemory(&bmi, sizeof(bmi)); bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bmi.bmiHeader.biWidth = width; bmi.bmiHeader.biHeight = height; bmi.bmiHeader.biPlanes = 1; bmi.bmiHeader.biBitCount = 24; bmi.bmiHeader.biCompression = BI_RGB; HBITMAP hBitmap = CreateDIBSection((HDC)0, &bmi, DIB_RGB_COLORS, &buffer, NULL, NULL); if(hBitmap == NULL) return; CClientDC dc(this); CDC mDC; mDC.CreateCompatibleDC(&dc); HBITMAP old = (HBITMAP)mDC.SelectObject(hBitmap); dc.BitBlt( x, y, width, height, &mDC, 0, 0, SRCCOPY); mDC.SelectObject(old); ::DeleteObject(hBitmap);
しかし、これだけがうまくいかない…。
HDCだとうまくいくから、相性の問題かな?