在Ubuntu上使用X11覆盖窗口和根窗口

时间:2018-12-17 18:55:54

标签: linux overlay x11 opencv3.0

我想知道Overlay窗口是否是Root Window的子窗口。这是因为当我在根窗口中使用XGetImage()时,我看到“覆盖”窗口也出现在保存的图像中(我通过OpenCV 3.4.1对其进行保存)。因此,有没有一种方法可以只获取根窗口(不包括覆盖窗口)的图像。

我从此处采用了覆盖窗口的代码:X11 - Draw on Overlay Window

我从此处了解了有关覆盖的信息:https://www.x.org/releases/X11R7.5/doc/compositeproto/compositeproto.txt

并从此处了解有关XGetImage()的信息: https://tronche.com/gui/x/xlib/graphics/XGetImage.html

我尝试了许多方法,例如更改输入的焦点,仅使用XCompositeRedirectWindow(这会导致BadMatch错误)等,但无法仅获取根窗口图像。

1 个答案:

答案 0 :(得分:0)

叠加可能很棘手。您可以使用XQueryTree()从给定窗口中查找父窗口和子窗口。

相关问题