我正在尝试使用C和GTK截取整个屏幕的屏幕截图。由于速度原因,我不想调用外部应用程序。我已经找到了为此的Python代码(Take a screenshot via a python script. [Linux]);我只需要弄清楚如何用C做到这一点。
最佳答案
看完GNOME屏幕截图代码和Python示例之后,我想到了:
GdkPixbuf * get_screenshot(){
GdkPixbuf *screenshot;
GdkWindow *root_window;
gint x_orig, y_orig;
gint width, height;
root_window = gdk_get_default_root_window ();
gdk_drawable_get_size (root_window, &width, &height);
gdk_window_get_origin (root_window, &x_orig, &y_orig);
screenshot = gdk_pixbuf_get_from_drawable (NULL, root_window, NULL,
x_orig, y_orig, 0, 0, width, height);
return screenshot;
}
这似乎工作完美。谢谢!
关于c - 使用C\GTK截屏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3124229/