使用gtk3进行gtk2hs的屏幕截图

时间:2014-12-06 07:11:33

标签: haskell screenshot capture gtk2hs

我知道使用gtk2可以使用gtk2hs将屏幕捕获到pixbuf中。这里给出了解决方案:Screen capture in Haskell?。 问题是gtk3中缺少pixbufGetFromDrawable(至少在gtk2hs中)。有人可以推荐这个问题的解决方案吗?我需要这个用于Linux,而不是Windows。 为方便起见,链接的解决方案在这里重复。

import Graphics.UI.Gtk
import Graphics.UI.Gtk.Gdk.Screen
import System.Environment

main = do
  [fileName] <- getArgs
  initGUI
  Just screen <- screenGetDefault
  window <- screenGetRootWindow screen
  size <- drawableGetSize window
  origin <- drawWindowGetOrigin window
  Just pxbuf <- pixbufGetFromDrawable window ((uncurry . uncurry Rectangle) origin size)
  pixbufSave pxbuf filename "png" []

0 个答案:

没有答案