利用gtk函数 linux桌面截图 保存成图片

来源:互联网 发布:英文网站源码 编辑:程序博客网 时间:2024/05/29 08:03

啥也不说,直接上代码,

终端键入:gcc -o main gtk.c `pkg-config --cflags --libs gtk+-2.0`

以上是编译命令;运行之后会截图保存

#include <stdlib.h>#include <stdio.h>#include <gtk/gtk.h>int main(int argc,char **argv){GtkWidget *window;gtk_init(&argc,&argv);     window=gtk_window_new(GTK_WINDOW_TOPLEVEL);  gtk_window_set_title((GtkWindow*)window,"gtk-test 2.0");g_signal_connect(G_OBJECT((GtkWindow*)window),"delete_event",G_CALLBACK(gtk_main_quit),NULL);  gtk_widget_show(window); //gtk_window_fullscreen(window);GdkScreen *screen = gdk_screen_get_default();  GdkWindow * root_window = gdk_get_default_root_window (); if (!root_window ){      return TRUE;}int w = gdk_screen_get_width(screen);  int h = gdk_screen_get_height(screen);GdkPixbuf * pixbuf = gdk_pixbuf_get_from_drawable(NULL, root_window, NULL,0, 0, 0, 0, w, h); // 抓图gdk_pixbuf_save(pixbuf, "screen.jpg", "jpeg", NULL, "quality", "100",NULL);gtk_main(); return FALSE;}
效果如下:



0 0