GetDIBits
을 사용하여 C++에서 비트 맵을로드하려고합니다. 여기에 내가 사용하고 코드입니다 :GetDI 비트를 사용하여 비트 맵로드
HBITMAP hBmp = LoadBitmap(hInstance, MAKEINTRESOURCE(id));
BITMAP BM;
GetObject(hBmp, sizeof(BM), &BM);
GLvoid* bits = NULL;
BITMAPINFO bitmap_info;
memset(&bitmap_info, 0, sizeof(bitmap_info));
bitmap_info.bmiHeader.biSize = sizeof(bitmap_info.bmiHeader);
bitmap_info.bmiHeader.biWidth = BM.bmWidth;
bitmap_info.bmiHeader.biHeight = BM.bmHeight;
bitmap_info.bmiHeader.biPlanes = 1;
bitmap_info.bmiHeader.biBitCount = DM_BITSPERPEL;//bits per pixel
bitmap_info.bmiHeader.biCompression = BI_RGB;
GetDIBits(device_context,
hBmp,
0, BM.bmWidth,
bits,
&bitmap_info,
DIB_RGB_COLORS);
그러나 bits
어떤 이유로 NULL
것 같다. 내 코드에 문제가 있습니까? 전에 GetBitmapBits
을 사용했습니다. bits
은 NULL
이 아닙니다.
반환 값은 무엇입니까? –
오류 매크로 나 NULL이 아닙니다. – user3075425