Copy an existing surface to a new surface of the specified format.
SDL_Surface* SDL_ConvertSurface(SDL_Surface *surface,const SDL_PixelFormat *format);
|surface||the existing SDL_Surface structure to convert|
|format||the SDL_PixelFormat structure that the new surface is optimized for|
Returns the new SDL_Surface structure that is created or NULL if it fails; call SDL_GetError() for more information.
This function is used to optimize images for faster repeat blitting. This is accomplished by converting the original and storing the result as a new surface. The new, optimized surface can then be used as the source for future blits, making them faster.
This function is available since SDL 3.0.0.
// SDL_Surface *input = ...; SDL_PixelFormat *format = SDL_CreatePixelFormat(SDL_PIXELFORMAT_RGBA32);0); SDL_Surface *output = SDL_ConvertSurface(input, format, SDL_DestroyPixelFormat(format);