= SDL_LoadBMP_RW =
Load a BMP image from a seekable SDL data stream.
== Syntax ==
SDL_Surface* SDL_LoadBMP_RW(SDL_RWops * src,
int freesrc);
== Function Parameters ==
{|
|'''src'''
|the data stream for the surface
|-
|'''freesrc'''
|non-zero to close the stream after being read
|}
== 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_FreeSurface]](). Not doing so
will result in a memory leak.
src is an open [[SDL_RWops]] buffer, typically loaded with
[[SDL_RWFromFile]]. Alternitavely, you might also use the macro
[[SDL_LoadBMP]] to load a bitmap from a file, convert it to an
[[SDL_Surface]] and then close the file.
== Version ==
This function is available since SDL 2.0.0.
== Code Examples ==
const char *image_path = "myimage.bmp";
/* "rb" will "read binary" files */
SDL_RWops *file = SDL_RWFromFile(image_path, "rb");
/* freesrc is true so the file automatically closes */
SDL_Surface *image = SDL_LoadBMP_RW(file, SDL_TRUE);
/* 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_FreeSurface(image);
== Related Functions ==
:[[SDL_FreeSurface]]
:[[SDL_RWFromFile]]
:[[SDL_LoadBMP]]
:[[SDL_SaveBMP_RW]]
----
[[CategoryAPI]], [[CategorySurface]]