【发布时间】:2011-06-20 11:59:15
【问题描述】:
我正在尝试低级编程,对此我一无所知。我想捕获监视器的输入,将其存储在磁盘上的某个位置,然后稍后将其通过管道传回屏幕。虽然我当然知道如何写入磁盘,但我必须知道如何以这种方式操作监视器。如果有人能给我一些指示/链接,我将不胜感激。 我知道 ruby 和 java,但我假设 ruby 作为一种高级语言,并不真正适合这种任务。我愿意看看需要的任何新语言。
【问题讨论】:
我正在尝试低级编程,对此我一无所知。我想捕获监视器的输入,将其存储在磁盘上的某个位置,然后稍后将其通过管道传回屏幕。虽然我当然知道如何写入磁盘,但我必须知道如何以这种方式操作监视器。如果有人能给我一些指示/链接,我将不胜感激。 我知道 ruby 和 java,但我假设 ruby 作为一种高级语言,并不真正适合这种任务。我愿意看看需要的任何新语言。
【问题讨论】:
Java 也是一种非常高级的语言,因为它建立在 VM 之上。因此,只有通过迂回的方法才能实现对监视器等组件的低级手动操作。但是,有一个Robot API 允许您执行其中一些操作。 Robot 具有创建屏幕截图和移动鼠标的方法,但它没有更改屏幕像素的方法。为此,您必须查看一些 GUI 库,例如 Swing、SWT 和 RCP。
如果您想要进行一些真正的低级编程,您应该查看不同的语言,例如 C 或 C++。
【讨论】:
如果您想从屏幕截图创建电影,请查看this answer。但是,如果您想捕获 60hz 的全显示器带宽(就像捕获电影播放一样),我认为仅靠软件是不可能的,除非可能通过修改视频卡驱动程序。您可以购买“视频采集卡”,它可以直接采集通过 DVI 或模拟发送的数据以获得最佳质量,但它们并不便宜。
【讨论】:
如果您使用的是基于 Unix 的系统,您可能希望研究通过 ssh 进行 X11 转发,您可以对自己的客户端执行类似的操作。不过,这仍然是相当高级的。
【讨论】: