Я пытаюсь сделать снимок экрана с помощью GDK в c ++.Мне удалось сделать это и сохранить его в файл, но теперь мне нужно получить все значения пикселей в COLORSPACE RGB.Так, например, черный это 0 0 0, а белый это 255 255 255. В python я устанавливал COLORSPACE.RGB в pixbuffer так:
buf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,1,1)
А потом я рисовал / сохранял его и получал пиксели со значениями rgb, используя buf.get_pixels_array ()
Мне не удалось получитьЗначение RGB в C ++.Я использую GDK 2.0
GdkPixbuf *screenshot;
GdkWindow *wind = gdk_get_default_root_window();
GdkColormap *cm = gdk_drawable_get_colormap(wind);
screenshot = gdk_pixbuf_get_from_drawable(NULL, wind, cm, 0, 0, 0, 0, 500, 500);
gdk_pixbuf_save(screenshot, "ss.png", "png",NULL,NULL);
guchar *px = gdk_pixbuf_get_pixels(screenshot);
ofstream myfile;
myfile.open("px.txt");
myfile << px;
myfile.close();