用C \ GTK截取屏幕截图

我正试图用C和GTK拍摄整个屏幕的截图。 出于速度原因,我不想打电话给外部应用程序。 我已经为此找到了Python代码( 通过python脚本截取屏幕截图。[Linux] ); 我只需要弄清楚如何在C中做到这一点。

在查看GNOME-Screenshot代码和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; } 

这看起来很完美。 谢谢!