2013-10-06 2 views
1

모든 BMP 파일을 열 수 있고, RLE 압축을 사용하고, 결과를 저장하고, 다시 열고, 일반 BMP로 압축을 풀 수있는 간단한 프로그램을 작성해야합니다. 문제는 파일의 RGB 구성 요소를 가져 오는 방법을 모르겠다는 것입니다. BMP 표준에는 여러 가지 버전이 있습니다. Qt에서 파일을 여는 방법, 작성 방법 및 위젯에로드하는 방법을 알고 있지만 파일 정보와 헤더를 bytearray에서 읽고 다른 파일에서 RGB 값을 읽을 수있는 방법을 찾을 수 없습니다. 거기에 Qt를 할 몇 가지 방법이 있습니까?Qt를 사용하여 BMP의 모든 픽셀의 RGB 값을 얻는 방법은 무엇입니까?

답변

4

QImage이 이미지를로드합니다. BMP는 supported formats 중 하나입니다. Qt이 내부적으로 처리하기 때문에 사용 된 BMP 표준은 신경 쓰지 않아야합니다.

pixel 방법을 사용하여 모든 픽셀의 RGB 값을 QImage에 액세스 할 수 있습니다.

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)); 
} 
관련 문제