我对整个GTK游戏都很陌生,想要创建一个算法来拍摄所有显示器的屏幕截图。
我正在思考这些问题:
gdk_display_manager_list_displays
gdk_display_get_n_screens
从1
2
3
gdk_pixbuf_new
的每个屏幕的每个根gtk窗口创建新的Pixbuf 4
的每个相应展示的gdk_pixbuf_get_from_drawable
的每个相应屏幕,3
的每个相应根窗口的2
填充1
的每个pixbuf({1}}可能需要gdk_drawable_get_size
和gdk_window_get_origin
每个args到pixbuf)gdk_pixbuf_get_pixels
这是一个可行的解决方案吗?
答案 0 :(得分:1)
如果您确定cRootWin
不是NULL且cWidth
且cHeight
大于0,那么您应该检查一些其他问题by the doc。
一个疯狂的猜测是你的程序没有足够的内存来存储像素图(通常为6 Mb)。我会尝试分配12 Mb,看看是否是这种情况。