我正在使用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);
感谢您的帮助。