liest eine .bmp-Datei in C ++

8

Ich versuche eine bmp-Datei zu laden, um sie in opengl wiederzuverwenden. Ich habe Code über Google gefunden, um eine BMP-Datei zu laden. Ich habe diesen Code genommen und eine Klasse Bitmap in mein Projekt eingefügt. Die Klasse ist weit davon entfernt, fertig zu sein, aber das Lesen der Dateiheader läuft schon falsch. Nach dem Lesen der Bytes für INFOHEADER und FILEHEADER gibt es nicht die richtigen Werte in meinen Strukturen. Einige Ideen?

%Vor%

die cpp

%Vor%     
soupdiver 12.01.2012, 13:40
quelle

3 Antworten

13

Der Header muss 2 Byte ausgerichtet sein.

%Vor%     
Itsik 12.01.2012, 13:43
quelle
4

Wie wäre es, wenn Sie Ihr Windows-Betriebssystem mit LoadImage für Sie laden?

%Vor%

Verwenden Sie GetObject() , um weitere Informationen wie Größe usw. und GetDIBits() zu finden, wenn Sie sich die einzelnen Bits ansehen möchten.

    
jschroedl 12.01.2012 13:49
quelle
0

BITMAPINFOHEADER :: Sie müssen zuerst biSize lesen, um zu wissen, wie groß der Info-Header ist, Sie können sich nicht auf sizeof() verlassen.

Sieh dir diesen Wiki-Artikel zum Dateiformat an

    
Anders K. 12.01.2012 13:46
quelle

Tags und Links