图形界面下的窗口/对话框里的文字往往并非 Editor 控件,无法直接复制上面的文本。但其内部是字符串,而非图形。因此无须使用 OCR 软件来提取文字, Windows 下就有这种软件:
哪位知道 Linux 下有没有类似的工具?最好 X11 和 Wayland 都推荐一下。
图形界面下的窗口/对话框里的文字往往并非 Editor 控件,无法直接复制上面的文本。但其内部是字符串,而非图形。因此无须使用 OCR 软件来提取文字, Windows 下就有这种软件:
哪位知道 Linux 下有没有类似的工具?最好 X11 和 Wayland 都推荐一下。
这个取决于 GUI 库。简单地来说就是:没有。
其实 Qt 的话用 gammaray 应该是能拿到的。GTK 用 inspector 大概也能。不过还是直接 OCR 简单快捷。
谢谢您的热心回复。我觉得应该不是让 GKT/QT 这类 Widget 去做,而是底层的 X11/Wayland 提供相关的接口。按理来说,应该已经存在相关的接口,只是我不知道。比如对于 X11, 可以用 xprop 这个工具抓取相关窗口里的信息,包括文本。不过 xprop 针对整个窗口,而不是里头的文字。
做不到。现在没有程序让 X 服务器渲染文字了,Wayland 更是不提供相关的功能。显示的什么字只有 GUI toolkit 知道。
你一说,我倒想起来了. X11 有一个古老的 “字体服务器”,就是将文字传递给 X11 Server, 让它去渲染。也许只有在那种情况下才能直接由 X11 来抓取文本,但 GKT/QT 这类 Widget 库都不使用 “字体服务器”,而是自身直接渲染。
本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。