Как нарисовать пиксели из буфера дисплея? - PullRequest
0 голосов
/ 12 марта 2012

Есть ли какой-нибудь пример кода Qt, который отображает изображение из буфера отображения без знака? Каждый байт в буфере соответствует цвету пикселя серой шкалы. Содержимое буфера отображения изменяется во время выполнения через указанные интервалы. Мне нужно как можно быстрее изменить содержимое буфера дисплея, чтобы изображение казалось движущимся. У меня вопрос как рисовать пиксели из буфера очень быстро? Мне не нужно сохранять изображение, я просто хочу его отобразить. Пожалуйста, помогите

1 Ответ

2 голосов
/ 12 марта 2012

QImage предоставляет конструктор для инициализации с использованием буфера unsigned char.Чтобы отобразить его, вы можете использовать QGraphicsView с QGraphicsScene.Каждый раз, когда изменяются данные буфера, вы можете вызывать слот, подобный следующему:

void updateImage()
{
     // I assume an 1024x768 image
     QImage img(buffer, 1024, 768, QImage::Format_Indexed8);
     scene->clear();
     scene->addPixmap(QPixmap::fromImage(img));
     graphicsView->update(); 
}

Вы также можете использовать QPixmap 's loadFromData, чтобызагружайте непосредственно растровое изображение из массива unsigned char и избегайте шага QImage.

...