是否有任何示例Qt代码显示来自unsigned char显示缓冲区的图像?缓冲区上的每个字节对应于灰度像素颜色。显示缓冲区的内容在指定的时间间隔内在运行时更改。我需要尽可能快地更改显示缓冲区内容,以便图像看起来像是在移动。我的问题是如何从缓冲区中快速绘制像素?我不需要保存图像,只想显示它。请帮忙
答案 0 :(得分:2)
QImage
使用unsigned char
缓冲区提供constructor初始化。要显示它,您可以使用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
的{{3}}来直接加载unsigned char数组中的pixmap,并避免QImage
步。