2016-04-04 14 views
0

ビットマップイメージをテクスチャに変換する必要があります。そのために、私はビットマップを解析するためのCコードを書いています。ビットマップrgbデータを解析して表示できます。 その32ビット画像。(ARGB)ビットマップローダーが正しく色を表示しない

int pixels = width * height * 4; 
unsigned char* data = new unsigned char[pixels]; 
const int row = width * 4; 
const int colomn = height; 
unsigned char* datarow = new unsigned char[row]; 
unsigned char data1[pixels]; 
#if 1 
fseek(f, 54,SEEK_SET); 
fread(data, sizeof(unsigned char), pixels, f); 

fclose(file); 
#endif 
for(int i = 0; i < colomn; i++) { 
    for(int j = 0; j < row; j++) 
    { 
      data1[j+i*row] = data[j+((colomn-i)*row)]; 
    } 
} 

答えて

1

あなたはおそらく画像は走査線で構成されており、走査線が32ビットallignedされていることをことを忘れそう-maniestです。したがって、単純な行/列の計算は機能しません。

スキャンラインの操作方法は、Dealing with padding in a BMP file in Cを参照してください。

関連する問題