是否可以使用 GDK 使用窗口名称获取任意 X11 窗口的图像/像素数据?

是否可以使用 GDK 使用窗口名称获取任意 X11 窗口的图像/像素数据?

概括

我正在编写一个脚本(在 Python 3.X 中)来在 Linux 中的许多不同 GUI 上进行图像检测。 GDK可​​以用来获取任何X11窗口的像素缓冲区吗?如果是这样,怎么办?我目前正在使用wnck图书馆

我知道这个线程,但它只显示获取当前进程窗口。

阐述

当我说“图像数据”时,我本质上指的是屏幕截图,但我不一定关心保存它。像素缓冲区可能是更合适的术语。

这是一个问题的变体我在 StackOverflow 上问过关于如何用Python实现专门获取图像数据。

为了防止 XY 问题:我需要在 Linux 和 Windows 中运行的 GUI 上进行一些图像检测。我有 Windows 10 的工作代码,它使用 win32 API 获取应用程序图像数据,并将其放入 numpy 数组中以便与 OpenCV 一起使用。我现在需要针对 Linux 采取类似的方法。我已经开始研究 X11 和可用的 python 库,但我不断回到显示gdk在 python 中使用的线程来获取调用过程的屏幕截图。我希望能够对任何 X11 窗口执行此操作。

相关内容