有没有人知道如何使用Ruby使用Win32的BitBlt()?看起来您需要使用目标DC(设备上下文)以及Ruby如何处理它?我使用GetPixel(),即使获得100个像素(大约需要10秒)也非常慢。感谢。
答案 0 :(得分:1)
如何用C ++作为Win32可执行文件编写所有图像处理代码并将其作为单独的进程启动或使用Win32API类从Ruby调用它?这样做是有意义的,而不是在Ruby中编写一个永远不会表现良好的cludge。
答案 1 :(得分:1)
我只想指出我看到了类似的事情。 GetPixel在Vista上非常慢。我已经确定当你使用那个Aero时就是这种情况。如果您将桌面主题设置为“经典”设置之一,则会再次快速。无论信不信,OP估计的约10秒都没有错。这真的非常慢。
我也在寻找Ruby中的BitBlt。我希望我需要弄清楚/写出来,但希望别人已经发布了一个例子。
答案 2 :(得分:1)
Second Carl的另一篇文章:使用win32 screenshot http://github.com/jarmo/win32screenshot
答案 3 :(得分:0)
我不会像艾德那样走得那么远;很有可能你只想做一些普通的GUI会做的相对简单和普通的事情。为此,这些库已经存在,不需要编写。
一个例子是wxRuby。
我担心我不熟悉它,但也许它已经提供了一些屏幕抓取的实用方法。