meego手机上的截图程序

 

转载时请注明出处和作者联系方式
文章出处:
http://blog.csdn.net/jack0106 
作者联系方式:冯牮 
[email protected]

这两天需要取meego手机上的一些截图,昨天找了个单反,照了半天,效果都不好,后来在回家的路上想,干脆直接截图得了。到家后就开电脑,首先想参考的是gnome-screenshot,在PC上运行看了一下。这个程序太大,就算我看一下源代码,把其中截图的部分抠出来,也得花点时间。
网上应该能找到更好的选择,于是乎上网狂搜,后来找到scrot这个命令行工具,在ubuntu上先试试,还不错,不需要gui,正好也符合我的需求。依赖关系也不复杂,只需要把giblib-1.2.4和imlib2-1.4.4这两个包编译到meego平台上就行了,其它的包,meego上都已经安装了。今天到公司,把这3个包用meego的sdk编译了一遍,都没有问题,但是在meego上运行到快结束的时候,报了一个错误。晕,时间不等人,急着要截图,查源代码,直接就被我放弃了。
再次上网狂搜,很痛苦的狂搜,找到一个maemo上的小工具,osso-screenshot-tool,抱着侥幸的心里试了一下,在meego上可以截图,这下问题解决了。很吃惊的是,这个代码相当的短,还不到100行。在此记录一下
#include <gtk/gtkmain.h> static gboolean screenshot (const char *filename, GError **error) { GdkDrawable *root_window; int width, height; GdkPixbuf *pixbuf; gboolean ret; root_window = gdk_get_default_root_window (); gdk_drawable_get_size (root_window, &width, &height); pixbuf = gdk_pixbuf_get_from_drawable (NULL, root_window, gdk_drawable_get_colormap (root_window), 0, 0, 0, 0, width, height); ret = gdk_pixbuf_save (pixbuf, filename, "png", error, NULL); g_object_unref (pixbuf); return ret; } int main (int argc, char **argv) { const char *filename; GError *error = NULL; gtk_init (&argc, &argv); if (argc != 2) { g_printerr ("Usage: %s filename.png/n", g_get_prgname ()); return 1; } filename = argv[1]; if (screenshot (filename, &error)) return 0; g_printerr ("%s: %s/n", g_get_prgname (), error->message); g_error_free (error); return 1; } 
对meego平台,目前没有什么能多说的,是生是死,一切都是未知数。不过meego的整体架构,还是很牛逼的,这么好的东西,希望它不要这么轻易就被人们忘掉!

 

你可能感兴趣的:(null,手机,工具,Maemo,meego,gtk)