2009-11-05 73 views
4

而不是使用一些第三方應用程序,我想用Ruby編寫一個應用程序調用時,將捕捉全屏,並將其保存在C:\截圖\ snap000001.png如何在Windows上使用Ruby捕獲屏幕的一部分?

圖形軟件包是容易那麼,但是如何從全屏捕捉區域以便保存?

這個程序是通過一些熱鍵來調用的,例如按CTRL-PrtScn時按下CTRL-CTRL(左右兩個都是控制)或ALT-ALT。

回答

8

我還沒有嘗試過(我不在窗戶上)。但你可以使用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文件。

+1

目前這個gem在''write'在Ruby 1.9下失敗,但'.bitmap'很好地輸出了bmp-string-source。 – Nakilon 2011-06-22 03:43:42

+0

注意,這段代碼片段也需要rmagick寶石,我相信。 – rogerdpack 2011-07-19 20:45:45