2016-04-04 6 views
0

Ich muss Bitmap-Bilder in Texturen konvertieren.So dafür schreibe ich C-Code zum Analysieren von Bitmap.Ich bin in der Lage, Bitmap-RGB-Daten zu analysieren und anzuzeigen.Aber Farbe kommt nicht richtig. Sein 32-Bit-Bild. (ARGB)Bitmap-Lader, der Farbe nicht richtig anzeigt

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)]; 
    } 
} 

Antwort

1

Sie sind wahrscheinlich die so maniest wer vergisst, dass ein Bild von Abtastlinien bestehen und dass Abtastlinien 32bit alligned. Ihre einfache Zeilen-/Spaltenberechnung funktioniert also nicht.

Informationen zum Arbeiten mit Scanlinien finden Sie unter Dealing with padding in a BMP file in C.

Verwandte Themen