Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用QGraphicsView从2D字节数组Qt绘制图像?_Qt_Qt4 - Fatal编程技术网

是否可以使用QGraphicsView从2D字节数组Qt绘制图像?

是否可以使用QGraphicsView从2D字节数组Qt绘制图像?,qt,qt4,Qt,Qt4,我有一个2D字节(无符号字符)数组。buf[50][100],其中包含一些数据。我需要使用QGraphicsView将此缓冲区绘制到Qt中的图像。(x,y)中的字节表示数组的第(x,y)个像素。如何将此数组传递到QGraphicsView以快速绘制?或者是否有其他方法(不使用QGraphicsView)在2D阵列中绘制图像请帮助 您可以创建一个QImage对象,然后可以使用调用在普通QPainter上绘制它 如果你的图像是每像素8位的,你还需要为图像设置一个8位 调色板只是从字节索引到QRgb颜

我有一个2D字节(无符号字符)数组。buf[50][100],其中包含一些数据。我需要使用QGraphicsView将此缓冲区绘制到Qt中的图像。(x,y)中的字节表示数组的第(x,y)个像素。如何将此数组传递到QGraphicsView以快速绘制?或者是否有其他方法(不使用QGraphicsView)在2D阵列中绘制图像请帮助

您可以创建一个
QImage
对象,然后可以使用调用在普通
QPainter
上绘制它

如果你的图像是每像素8位的,你还需要为图像设置一个8位

调色板只是从字节索引到QRgb颜色值的映射。您可以这样设置:

static void setGrayColorMap(QImage * img)
{
   img->setColorCount(256);
   for (int i = 0; i < 256; ++i) {
      img->setColor(i, qRgb(i,i,i));
   }
}
static void setGrayColorMap(QImage*img)
{
img->setColorCount(256);
对于(int i=0;i<256;++i){
img->setColor(i,qRgb(i,i,i));
}
}

如何设置图像的调色板?每个像素对应于数组中的每个字节