回 帖 发 新 帖 刷新版面

主题:如何自动生成BMP文件?

截取屏幕图象然后自动生成图片

回复列表 (共3个回复)

沙发

????

板凳

http://www.programfan.com/club/post-263262.html

3 楼

网上有很多现成的例子可用.

/*************************************************************
                抓图    
*************************************************************/
        pDlg->GetClientRect(&rc);

        nWidth=rc.right-rc.left;
        nHeight=rc.bottom-rc.top;

        hSrcDC=::GetDC(NULL);///获取桌面窗口DC
        hMemDC=CreateCompatibleDC(hSrcDC);
        nWidth=GetSystemMetrics(SM_CXSCREEN);
        nHeight=GetSystemMetrics(SM_CYSCREEN);
        pDlg->ShowWindow(SW_MINIMIZE);
        hBitmap=CreateCompatibleBitmap(hSrcDC,nWidth,nHeight);
        
        CBitmap cBitmap;
        cBitmap.Attach(hBitmap);

        hOldBitmap=(HBITMAP)SelectObject(hMemDC,hBitmap);
        BitBlt(hMemDC,0,0,nWidth,nHeight,hSrcDC,0,0,SRCCOPY);
        hBitmap=(HBITMAP)SelectObject(hMemDC,hOldBitmap);
        DeleteDC(hSrcDC);
        DeleteDC(hMemDC);
/*************************************************************
                抓图    
*************************************************************/
稍微修改一下就可以用。

我来回复

您尚未登录,请登录后再回复。点此登录或注册