Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

06.03.2011, 23:50

Bitmap laden (ohne extra Library)

Hallo,

Kann mir jemand erklären wie die Lade-Routine einer simplen Bitmap (*.bmp) aussieht?
Ich verzweifle gerade daran.
Bis jetzt mache ich es so:

1. Bitmap-Header lesen
2. Bitmap-Info lesen
3. Pixel-Daten lesen
(4. DirectX Textur füllen)

Aber irgendwie scheint die Textur falschherum zu sein o.O

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

06.03.2011, 23:53

Ich vermute mal du hast übersehen dass die Pixel in einer Bitmap zeilenweise beginnend mit der untersten Zeile gespeichert sind ;)

3

07.03.2011, 00:00

Ohh stimmt das habe ich übersehen.
Aber wie soll man so laden?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

07.03.2011, 00:00

Wo liegt das Problem, musst du die Zeilen halt von unten nach oben in deine Textur laden!?^^

5

07.03.2011, 00:13

Ja stimmt du hattest recht (wie immer ^^).
Ist wohl doch etwas spät :D
Danke :)

idontknow

unregistriert

6

07.03.2011, 00:28

Außerdem wird das in einer Bitmap angegeben ob die Zeilen von unten nach oben oder andersrum gespeichert sind. War irgendnen Wert in einer Struktur und wenn der negativ war, wars eben von oben nach unten ;)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

07.03.2011, 08:26

Außerdem wird das in einer Bitmap angegeben ob die Zeilen von unten nach oben oder andersrum gespeichert sind. War irgendnen Wert in einer Struktur und wenn der negativ war, wars eben von oben nach unten ;)


Richtig, das war die Höhe im Infoheader.
@D13_Dreinig

8

07.03.2011, 09:34

Ich meine auch, wenn die Zeilenlängen kein Vielfaches von 4 oder so waren, wurden die mit Bytes aufgefüllt, die du dann beim Laden ignorieren musst.
Lieber dumm fragen, als dumm bleiben!

idontknow

unregistriert

9

07.03.2011, 10:51

Ich meine auch, wenn die Zeilenlängen kein Vielfaches von 4 oder so waren, wurden die mit Bytes aufgefüllt, die du dann beim Laden ignorieren musst.

yep^^

10

07.03.2011, 18:41

Richtig, das war die Höhe im Infoheader.

Stimmt, das habe ich wohl auch übersehen :)
Ich meine auch, wenn die Zeilenlängen kein Vielfaches von 4 oder so waren, wurden die mit Bytes aufgefüllt, die du dann beim Laden ignorieren musst.

Das nennt sich glaub ich Dword-Alignment oder so ^^
Wie ich das löse muss ich noch mal gucken.

Werbeanzeige