У меня есть некоторые необработанные данные в формате const unsigned char *, который является изображением.
Я создал GdkPixbuf, вызвав функцию gdk_pixbuf_new_from_data как показано ниже. Но когда я проверил память нового GdkPixbuf, он вообще не создается.
virtual void onPaint(Window *wini, const unsigned char *bitmap_in, const Rect &bitmap_rect,
size_t num_copy_rects, const Rect *copy_rects,
int dx, int dy, const Rect &scroll_rect)
{
GdkPixbuf* pbuf = gdk_pixbuf_new_from_data((const guchar*)bitmap_in,GDK_COLORSPACE_RGB,FALSE,8,bitmap_rect.width(),bitmap_rect.height(),GST_ROUND_UP_4(bitmap_rect.width() * 3),NULL,NULL);
static int call_count = 0;
string fname = "/tmp/testout/file" + toString(call_count++) + ".png";
bool state = gdk_pixbuf_save(pbuf,fname.c_str(),"png",NULL);
}