【问题标题】:How to capture a part of a screen using Ruby on Windows?如何在 Windows 上使用 Ruby 捕获屏幕的一部分?
【发布时间】:2010-07-08 00:52:12
【问题描述】:

我不想使用一些第三方应用程序,而是想用 Ruby 编写一个应用程序,当调用它时,它将捕获全屏并将其保存在 c:\screenshot\snap000001.png 中

图形包随手可得,但是如何从全屏截取一个区域以便保存呢?

这个程序可以通过一些热键来调用,比如设置它在按下 CTRL-PrtScn 时运行,或者 CTRL-CTRL(左右同时控制),或者 ALT-ALT。

【问题讨论】:

    标签: ruby winapi screen-scraping


    【解决方案1】:

    我还没有尝试过(我不在 Windows 上)。但你可以使用Win32::Screenshot

    环顾四周,我找到了the following,它使用该库进行屏幕截图

    width, height, bitmap = Win32::Screenshot.desktop
    img_lst = ImageList.new
    img_lst.from_blob(bitmap)
    img_lst.write('public/screen.png')
    

    并且应该将您的屏幕截图写为 png 文件。

    【讨论】:

    • 目前这个 gem 在 Ruby 1.9 下的 write 上失败,但 .bitmap 很好地输出 bmp-string-source。
    • 请注意,此代码 sn-p 也需要 rmagick gem,我相信。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2014-07-02
    • 2011-12-16
    • 2016-02-13
    • 2020-10-28
    • 2016-03-28
    • 2012-05-24
    相关资源
    最近更新 更多