如何从显示缓冲区中绘制像素



是否有任何示例Qt代码显示来自未签名字符显示缓冲区的图像?缓冲区上的每个字节对应于灰度级像素颜色。显示缓冲区的内容在运行时以指定的间隔更改。我需要尽快更改显示缓冲区的内容,这样图像似乎在移动。我的问题是如何从缓冲区中快速绘制像素?我不需要保存图像,只想显示它。请帮助

QImage提供了一个使用unsigned char缓冲区进行初始化的构造函数。为了显示它,您可以使用QGraphicsViewQGraphicsScene。每次缓冲区的数据发生变化时,您都可以调用类似于以下插槽的插槽:

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

您也可以使用QPixmaploadFromData,以便直接从无符号字符数组加载像素映射,并避免QImage步骤。

最新更新