====== SDL_LoadBMP ====== SDL_LoadBMP lädt das angegebene BMP Bild in eine [[SDL_Surface]] Struktur. Im Fehlerfall bekommt man NULL zurück, ansonsten kann man die Oberfläche zum Beispiel mit [[SDL_BlitSurface]] in auf den Bildschirm kopieren. Nach der Verwendung muss die Oberfläche mit [[SDL_FreeSurface]] wieder freigegeben werden, da beim Laden dynamischer Speicher angefordert wird. ===== Signatur ===== #include SDL_Surface *surface SDL_LoadBMP( const char* file ); ==== Parameter ==== === file === Der Dateipfad der zu ladenden BMP Datei. ==== Rückgabewert ==== * **NULL**: Im Fehlerfall * **sonst**: Zeiger auf eine gefüllte [[SDL_Surface]] Struktur ===== Beispiel ===== Als Bild kann folgende Grafik verwendet werden: \\ {{:sdl:lib:proggenlogo.zip|}} \\ Sie muss im gleichen Verzeichnis wie das Programm liegen. \\ #include #include #include int main( int argc, char **argv ) { if( SDL_Init( SDL_INIT_VIDEO ) ) // Video-Subsystem initialisieren und auf Fehler prüfen { std::cerr << "Konnte SDL nicht initialisieren: " << SDL_GetError() << std::endl; return 1; } atexit (&SDL_Quit); // SDL am Ende des Programms runterfahren // ein 312*61 Fenster erstellen SDL_Surface *screen = SDL_SetVideoMode (312, 61, 16, SDL_DOUBLEBUF); if( !screen ) // prüfen ob das Fenster korrekt erstellt wurde { std::cerr << "Konnte Fenster nicht erstellen: " << SDL_GetError () << std::endl; return 1; } SDL_Surface *image = SDL_LoadBMP ("proggenlogo.bmp"); // Bild laden if( !image ) { std::cerr << "Bild konnte nicht geöffnet werden: " << SDL_GetError () << std::endl; return 1; } SDL_BlitSurface( image, NULL, screen, NULL); // das Bild auf das Fenster blitten SDL_FreeSurface( image ); // Speicher des Bildes freigeben SDL_Flip( screen ); // Puffer tauschen SDL_Delay (5000); // dem Benutzer Zeit geben das Bild anzusehen return 0; } Nun sollte ein Fenster mit Bild angezeigt werden.