2

我的项目有简单的要求:

  1. 抓取现有 xorg 应用程序窗口的内容
    (做一些 ocr)
  2. 在现有应用程序的窗口上绘制一些东西(覆盖)

要求 2 不是那么重要,我可以满足于将窗口复制到我自己的窗口。

我花了一上午的时间在有限且过时的项目上浪费时间:

hornet's eye (couldn't find how to reference an existing window)
matju's RubyX11 (wanted ruby 1.7)
moriq's ruby-xlib (unsigned int for int errors during compile)
xlib-wrap (more type errors)

因此,除了将 c 与 xlib 或 xcb 一起使用之外,是否有一个不错的当前和稳定的库或语言可以用于快速开发?任何语言都可以,但我更喜欢 ruby​​。

4

2 回答 2

3

最后我选择了qt4-qtruby

require 'Qt4'
app = Qt::Application.new(ARGV)
p = Qt::Pixmap.grabWindow(0x182183b) #param is xlib id from xwininfo 

我使用的构建脚本:

sudo apt-get install qt-sdk libsmokeqt4-dev
cmake \
-DRUBY_EXECUTABLE=`which ruby` \
-DRUBY_INCLUDE_PATH=$MY_RUBY_HOME \
&& make && make install
于 2011-08-14T13:53:33.267 回答
1

我开始围绕Xlib的一个子集编写一个包装器。我包了不少。您可能想查看 C 代码和 Ruby 示例,并对其进行修改以使其执行您想要的操作。

于 2011-08-12T01:17:28.437 回答