使用StretchBlt()将屏幕绘制到窗口

时间:2013-08-24 00:34:20

标签: windows gdi

我正在制作一个捕捉屏幕的程序,然后在窗口上绘制。

这是绘图线程函数:

void DrawFunc(void*hwnd)
{
    HDC windowdc=GetDC((HWND)hwnd);
    HDC desktopdc=GetDC(GetDesktopWindow());
    for(;;)
    {
        RECT rect;
        GetClientRect((HWND)hwnd,&rect);
        StretchBlt(windowdc,0,0,rect.right-rect.left,rect.bottom-rect.top,desktopdc,0,0,1920,1080,SRCCOPY);
    }
}

问题是StretchBlt太慢(约20 fps) 我该怎么做才能提高性能? 感谢。

0 个答案:

没有答案