(This is the documentation for SDL3, which is under heavy development and the API is changing! SDL2 is the current stable version!)

SDL_LoadBMP

Load a BMP image from a file.

Syntax

SDL_Surface* SDL_LoadBMP(const char *file);

Function Parameters

file

the BMP file to load

Return Value

Returns a pointer to a new SDL_Surface structure or NULL if there was an error; call SDL_GetError() for more information.

Remarks

The new surface should be freed with SDL_DestroySurface(). Not doing so will result in a memory leak.

Version

This function is available since SDL 3.0.0.

Code Examples

const char *image_path = "myimage.bmp";
SDL_Surface *image = SDL_LoadBMP(image_path);

/* Let the user know if the file failed to load */
if (!image) {
    printf("Failed to load image at %s: %s\n", image_path, SDL_GetError());
    return;
}

/* Do something with image here. */

/* Make sure to eventually release the surface resource */
SDL_DestroySurface(image);
SDL_DestroySurface
SDL_LoadBMP_IO
SDL_SaveBMP

CategoryAPI, CategorySurface