如何使用DirectShow API省略捕获按钮/区域?

时间:2016-09-07 11:31:06

标签: winapi video directshow gdi

我正在使用" Push Source Desktop"过滤器用于在我的应用程序中捕获屏 在录制过程中我隐藏了我的应用程序。屏幕上只能看到一个用于停止录制的按钮。 该按钮也会被过滤器记录。在播放保存的录音期间,按钮与屏幕区域的其余部分一起可见。

有什么方法可以阻止按钮录制?

我的目标是在没有按钮的情况下录制屏幕。我无法隐藏按钮,因为它需要停止录制我的应用程序。 我试图改变我按钮的alpha分量并使其半透明。但过滤器仍会捕获半透明按钮。

如何获取按钮的背景区域并忽略按钮本身的捕获?

1 个答案:

答案 0 :(得分:0)

问题实际上与DirectShow无关。简而言之,DirectShow在您使用DirectShow API和软件项的外形因素发送已有图像时启动。

您的问题是如何在桌面上显示内容并从同一桌面抓取,不包括您呈现给用户的部分。我不认为你可以准确地实现它而不需要太多细节,但很多时候你可以这样做:你知道你的UI元素的位置,这样你就可以识别它下面的内容了在窗口Z顺序(另一个应用程序窗口或桌面等)方面。您可以要求此窗口重新映射到DC,然后将这些部分组合到您作为DirectShow源发送到下游的视频中。