我有一個表示圖像的浮點數組(第一列)。 我想將QGraphicsSecene上的圖像顯示爲QPixmap。爲了做到這一點,我試圖用QImage構造函數 - QImage(const uchar * data,int width,int height,Format format)從數組中創建一個新的圖像。 我首先創建一個新的無符號的字符和鑄造從我原來的數組新的無符號的字符每隔一個值,然後試着用下面的代碼創建一個新的形象:如何從浮點數組創建一個新的QImage
unsigned char * data = new unsigned char[fres.length()];
for (int i =0; i < fres.length();i++)
data[i] = char(fres.dataPtr()[i]);
bcg = new QImage(data,fres.cols(),fres.rows(),1,QImage::Format_Mono);
問題是,當我嘗試訪問該信息採用以下方式:
bcg-> pixel(i,j);
我只得到值12345. 如何從我的數組創建可視圖像。 謝謝
你能告訴浮動 - > UCHAR轉換? – strager 2010-07-31 18:10:36
原始數據代表什麼?每個浮動0..1代表黑色......白色?是否有色彩通道,還是隻是灰度? – strager 2010-08-01 12:37:28
不需要在堆上創建QImage,順便說一句。它隱式共享(寫時複製)。 – 2010-08-01 12:43:37