Ein anderes Grafikformat laden und anzeigen
Ganz klar, nicht jeder kann, oder will was mit BMP-Dateien anfangen. Unter Verwendung einer zusätzlichen Bibliothek (SDL_image) ist es auch möglich, andere Bildformate anzuzeigen. Unter Einbindung der Headerdatei SDL_image.h und der Angabe des Flags für den Linker -lSDL_image müssen Sie lediglich im zuvor verwendeten Beispiel (BMP-Dateien anzeigen), die Funktion SDL_LoadBMP() gegen die Funktion IMG_Load() austauschen.SDL_Surface *IMG_Load(const char *file);
Ansonsten ist die Funktion mitsamt den Rückgabewerten und dem Parameter dieselbe wie SDL_LoadBMP(), nur, dass eben mehrere Grafikformate unterstützt werden.
Ein Listing hierzu kann ich mir ersparen - ändern Sie einfach die Zeile SDL_LoadBMP() vom Listing zuvor um, damit die Funktion IMG_Load() verwendet wird und übersetzten Sie den Quellcode wie folgt:
TTY
you@host > gcc `sdl-config --libs` `sdl-config --cflags` -o sdl4 sdl4.c -lSDL_image
you@host > ./sdl4 john.png john2.bmp
