CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    Join Date
    Jun 2017

    Question CreateDIBSection returns NULL

    please help me to resolve the error of createDIBSection returns NULL.
    Given below the code before calling the createDIBSection .
    I tried to creates a DIB using CreateDIBSection but it returns NULL.

    CDC * pSourceDC = AfxGetMainWnd()->GetDC();
    BYTE * pDIBbuffer = new BYTE[sizeof(BITMAPINFOHEADER) + 256*sizeof(WORD)];
    if (pDIBbuffer == NULL) {  throw; }
    pDIB->bmiHeader.biSize= sizeof(BITMAPINFOHEADER);
    pDIB->bmiHeader.biWidth= m_totalWidth;
    pDIB->bmiHeader.biHeight= m_totalHeight;
    pDIB->bmiHeader.biPlanes= 1;
    pDIB->bmiHeader.biBitCount= 24;          // MUST be 24-bit DIB for JPEG 
    pDIB->bmiHeader.biCompression= BI_RGB;
    pDIB->bmiHeader.biSizeImage= 0;
    pDIB->bmiHeader.biXPelsPerMeter= 0;
    pDIB->bmiHeader.biYPelsPerMeter= 0;
    pDIB->bmiHeader.biClrUsed= 0;
    pDIB->bmiHeader.biClrImportant= 0;
    WORD* color = (WORD*) pDIB->bmiColors;
    for (i = 0; i < 256; i++)
    *(color++) = i;
        ColorPalette* colorPal = ColorPalette::getInstance();
    CPalette* pOldPal = pSourceDC->SelectPalette( &(colorPal->GetWindowPalette()), FALSE);
       HBITMAP hBitmap = CreateDIBSection(pSourceDC->GetSafeHdc(),
    (void **)&pvBits,// Here's where we put the image
    Here hBitmap returns NULL
    GetLastError() returns 0. I could not find out what could be the error.
    I think the size of deviceContext is high.I am new to this DIBSection function and not sure how internal function works
    I am capturing the application screenshot in different page.In one page,it returns NULL.Please help me on this.

    Thank you
    Last edited by 2kaud; August 22nd, 2017 at 02:40 AM. Reason: Added code tags

  2. #2
    VictorN's Avatar
    VictorN is offline Super Moderator Power Poster
    Join Date
    Jan 2003
    Hanover Germany

    Re: CreateDIBSection returns NULL

    What is the siye of a bitmap?
    What do the GetDC(), SelectPalette() return?
    Victor Nijegorodov

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Windows Mobile Development Center

Click Here to Expand Forum to Full Width

On-Demand Webinars (sponsored)

We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.