HDC hDC = ::GetDC(m_hWnd);
HDC hMemDC = ::CreateCompatibleDC(hDC);
HBITMAP hBitmap = CreateCompatibleBitmap(hDC, 256, 256);
2. Самый лучший - CreateDIBSection:
HDC hDC = ::GetDC(m_hWnd);
HDC hMemDC = ::CreateCompatibleDC(hDC);
BITMAPINFO bmi = { 0 };
LPBYTE pBits = NULL;
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biWidth = 256;
bmi.bmiHeader.biHeight = 256;
bmi.bmiHeader.biPlanes = 1;
bmi.bmiHeader.biBitCount = 24;
bmi.bmiHeader.biCompression = BI_RGB;
HBITMAP hBitmap = ::CreateDIBSection(hDC, &bmi, DIB_RGB_COLORS,(void **)&pBits, NULL, 0);
3. Самый безполезный - CreateDIBitmap:
HDC hDC = ::GetDC(m_hWnd);
HDC hMemDC = ::CreateCompatibleDC(hDC);
BITMAPINFO bmi = { 0 };
m_pBits = (LPBYTE)malloc( 256 * 256 * 24);
ZeroMemory(m_pBits, 256 * 256 * 24);
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biWidth = 256;
bmi.bmiHeader.biHeight = 256;
bmi.bmiHeader.biPlanes = 1;
bmi.bmiHeader.biBitCount = 24;
bmi.bmiHeader.biCompression = BI_RGB;
HBITMAP hBitmap = CreateDIBitmap(hDC, &(bmi.bmiHeader), CBM_INIT, m_pBits, &bmi, DIB_RGB_COLORS);
No comments:
Post a Comment