AcquireNextFrame自定义维度

时间:2017-05-17 10:36:04

标签: c++ directx screenshot screen-capture dxgi

我正在使用AcquireNextFrame制作我桌面的屏幕截图。是否可以设置我想要的图像的尺寸。 例如:我的计算机的默认分辨率是1920x1080,我想在1280x720中获取图像。 我多次调用这个函数,所以如果可以设置一个维度就好了。

这是我的代码:

HRESULT hr;
hr = gDevice->QueryInterface(IID_PPV_ARGS(&gDxgiDevice));
hr = gDxgiDevice->GetParent(__uuidof(IDXGIAdapter), reinterpret_cast<void**>(&gDxgiAdapter));
gDxgiDevice->Release();
UINT Output = 0;
IDXGIOutput *lDxgiOutput = nullptr;
hr = gDxgiAdapter->EnumOutputs(Output, &lDxgiOutput);
gDxgiAdapter->Release();
hr = lDxgiOutput->GetDesc(&gOutputDesc);
IDXGIOutput1 *lDxgiOutput1 = nullptr;
hr = lDxgiOutput->QueryInterface(IID_PPV_ARGS(&lDxgiOutput1));
lDxgiOutput->Release();
hr = lDxgiOutput1->DuplicateOutput(gDevice, &gDeskDupl);
lDxgiOutput1->Release();
gDeskDupl->GetDesc(&gOutputDuplDesc);
hr = gDeskDupl->AcquireNextFrame(100, &frameInfo, &desktopResource);

感谢您的帮助。

0 个答案:

没有答案