2012-03-01 38 views
1

我有一個2D BYTE(無符號字符)數組。 buf [50] [100]有一些數據。我需要使用QGraphicsView將此緩衝區繪製到Qt中的圖像。 (x,y)中的字節表示數組的第(x,y)個像素。如何將此數組傳遞給QGraphicsView以繪製速度非常快?或者是否有任何其他方法(不使用QGraphicsView)在二維數組中繪製圖像請幫助。是否有可能使用QGraphicsView從2D BYTE數組Qt中繪製圖像?

回答

0

您可以創建QImage對象from a pre-existing memory area,然後您可以使用drawImage調用在正常的QPainter上繪製它。

作爲您的圖像每像素8位,您還需要爲圖像set up a palette

調色板只是從字節索引到QRgb顏色值的映射。你可以這樣設置:

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

如何設置圖像的調色板?每個像素對應於數組中的每個字節 – indira 2012-03-12 06:09:23

相關問題