如何解决DXGI桌面复制,仅捕获特定的RECT
有什么方法可以从使用“桌面复制”捕获的图像中裁剪出特定的RECT,并在应用某些效果后将其渲染回窗口。
请看一下这张照片:
以记事本为例,按照上面的图片,我想捕获红色的矩形区域(窗口RECT区域)并将其渲染回窗口。 当窗口从一个位置移动到另一个位置时,捕获源RECT也应与窗口一起移动(与窗口放大镜窗口一样)。
我已经提到过DXGI desktop duplication sample,它看起来非常复杂。
注意:我将使用WDA_EXCLUDEFROMCAPTURE从捕获的RECT中删除窗口,以便能够在窗口后面获得视觉效果
解决方法
API的设计方式是,您以非常小的处理开销捕获整个监视器的合成图像。无法捕获感兴趣的区域(ROI),也没有太多意义:您几乎不会获得任何收益,特别是不会带来性能优势。
捕获帧时,您具有标准纹理,可以随意对数据进行任何操作。具体来说,您可以提取投资回报率。您还可以对照ROI坐标检查更新/移动的矩形。您可以映射纹理数据并将其作为字节数组进行处理。也就是说,裁剪非常容易,并且有多种方法可以做到这一点-但这并不是Desktop Duplication API设计的任务。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。