是否有任何示例Qt代码显示来自未签名字符显示缓冲区的图像?缓冲区上的每个字节对应于灰度级像素颜色。显示缓冲区的内容在运行时以指定的间隔更改。我需要尽快更改显示缓冲区的内容,这样图像似乎在移动。我的问题是如何从缓冲区中快速绘制像素?我不需要保存图像,只想显示它。请帮助
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
的loadFromData
,以便直接从无符号字符数组加载像素映射,并避免QImage
步骤。