2013-10-06 82 views
1

我需要編寫簡單的程序,它可以打開任何BMP文件,使用RLE壓縮,保存結果,再次打開它並將文件解壓縮到正常的BMP。 問題是我不知道如何獲取文件的RGB組件。有很多版本的BMP標準。 我知道如何在Qt中打開它,如何創建以及如何加載到窗口小部件中,但是我找不到一種方法來讀取一個字節數組中的文件信息和標題,另一種方法是讀取另一個字節數組中的RGB值。 Qt中有一些方法可以做到這一點嗎?如何使用Qt獲取BMP中每個像素的RGB值?

回答

4

QImage將爲您加載圖片。 BMP是supported formats之一。您不應該關心Qt在內部處理它所使用的BMP標準。

您可以使用pixel方法QImage訪問任意像素的RGB值。

QImage image; 
image.load("myimage.bmp"); 
QVector<QRgb> imageRGBValues; 

for (unsigned i=0; i<image.width(); ++i) 
{ 
    for (unsigned j=0; j<image.height(); ++j) 
     imageRGBValues.push_back(image.pixel(i,j)); 
} 
相關問題