Hey Leute
Ich arbeite momentan daran, bmp Bilder Manuell zu laden und dieses dann in eine SDL_Surface zu packen.
Das ganze klappt auch soweit, nur werden falsche Farbwerte angezeigt, das Bild soll z.b Pink im Hintergrund sein, ich bekomme aber ein Rot.
Als aller erstes, die Pixel sind richtig geladen, und der Aufbau des Bildes ist auch richtig, sind halt nur die falschen Farben
Habe die einzelnen Pixel als unsigned char gespeichert, in einer Struktur
Struktur:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
|
struct BMP24Bit{
unsigned char Red;
unsigned char Green;
unsigned char Blue;
unsigned char Alpha;
};
|
Und so caste ich momentan die Chars in ein Uint32
Habe das in google gefunden, aber bin nir nicht sicher ob das der richtige weg ist
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
for(int Height=0; Height<Infoheadi.HeightOfBitmapinPixel; Height++)
{
for(int Width=0; Width<Infoheadi.WidthOfBitmapinPixel; Width++)
{
Uint32 num = (Uint32)Pixels[Height][Width].Red << 24|
(Uint32)Pixels[Height][Width].Green <<16|
(Uint32)Pixels[Height][Width].Blue << 8 |
(Uint32)Pixels[Height][Width].Alpha;
pixels[Height*64+Width]=num;
}
}
|
Danke schonmal für die Hilfe
Gruß Leri