Простой способ рисовать данные изображения RGB на экране в GTK - PullRequest
4 голосов
/ 04 декабря 2010

Я нашел несколько решений в Google, но все они казались слишком длинными и слишком сложными для того, что мне нужно, поэтому я решил попробовать здесь.

Моя проблема проста, я хочу нарисовать 24-битные пиксели RGB на экране.

В Qt я бы сделал это так (x и y - высота и ширина изображения, данные указывают на 24-битные пиксели RGB):

QImage graph((uchar *)data, x, y, QImage::Format_RGB888);
QLabel *label = new QLabel();
label->setPixmap(QPixmap::fromImage(graph));
label->setFixedSize(x, y);
label->show();

Есть ли такой же чистый способ сделать это в C / GTK?

Заранее спасибо.

1 Ответ

1 голос
/ 21 января 2011

Одним из решений для этого было бы совместное использование openCV и GTK +.Сначала создайте IplImage * (по умолчанию это BRG, и вам нужно конвертировать его в RGB) и создайте GdkPixbuf *.Из пиксельного буфера вы можете установить изображение в GtkImage *.Я писал об этом здесь: http://subinsebastien.tumblr.com/post/2839808825/opencv-gtk-and-a-day

Надеюсь, это будет полезно ...

...