[已搞定]将CDC*的SetPixel保存起来,该如何解决

[已搞定]将CDC*的SetPixel保存起来
先上代码:
C/C++ code
        // 获取尺寸
        int m_nSymbleSize = pQR_Encode->m_nSymbleSize + (QR_MARGIN * 2);

        CBitmap* m_pSymbleBitmap = new CBitmap;
        m_pSymbleBitmap->CreateBitmap(m_nSymbleSize, m_nSymbleSize, 1, 1, NULL);

        CDC* m_pSymbleDC = ((CStatic*)GetDlgItem(IDC_BITMAP_1))->GetDC();

        m_pSymbleDC->PatBlt(0, 0, m_nSymbleSize, m_nSymbleSize, WHITENESS);
        m_pSymbleDC->SelectObject(m_pSymbleBitmap);

        for (int i = 0; i < pQR_Encode->m_nSymbleSize; ++i)
        {
            for (int j = 0; j < pQR_Encode->m_nSymbleSize; ++j)
            {
                if (pQR_Encode->m_byModuleData[i][j])
                {
                    m_pSymbleDC->SetPixel(i + QR_MARGIN, j + QR_MARGIN, RGB(0, 0, 0));
                }
            }
        }
        // 图片保存的结果为黑色,但上面m_pSymbleDC->SetPixel却是图案
        // 此函数来自 http://hi.baidu.com/gzjurkbqwynvxye/item/d2780bc65583e853bdef6916
         SaveBitmapToFile(m_pSymbleBitmap,_TEXT("C:\\Users\\Sollyu\\Desktop\\1.bmp"));


使用如下代码完美解决

C/C++ code
HBITMAP   CQRDlg::GetSrcBit(HDC   hDC,DWORD   BitWidth,   DWORD   BitHeight) 
{ 
    HDC   hBufDC; 
    HBITMAP   hBitmap,   hBitTemp; 

    //创建设备上下文(HDC) 
    hBufDC   =   CreateCompatibleDC(hDC); 

    //创建HBITMAP 
    hBitmap   =   CreateCompatibleBitmap(hDC,   BitWidth,   BitHeight); 
    hBitTemp   =   (HBITMAP)   SelectObject(hBufDC,   hBitmap); 

    //得到位图缓冲区 
    StretchBlt(hBufDC,   0,   0,   BitWidth,   BitHeight, 
        hDC,   0,   0,   BitWidth,   BitHeight,   SRCCOPY); 

    //得到最终的位图信息 
    hBitmap   =   (HBITMAP)   SelectObject(hBufDC,   hBitTemp); 

    //释放内存 

    ::DeleteDC(hBufDC); 

    return   hBitmap; 
} 


------解决方案--------------------
大家前来领分,1楼20分,2楼10分,3-4楼各5分。
------解决方案--------------------
恭喜‘完美解决’
------解决方案--------------------
我来了,感谢楼主