Copy an existing surface to a new surface of the specified format.
SDL_Surface* SDL_ConvertSurfaceconst SDL_PixelFormat * fmt, Uint32 flags); (SDL_Surface * src,
src |
the existing SDL_Surface structure to convert |
fmt |
the SDL_PixelFormat structure that the new surface is optimized for |
flags |
the flags are unused and should be set to 0; this is a leftover from SDL 1.2's API |
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.
// SDL_Surface *input = ...;
SDL_PixelFormat *format = SDL_AllocFormat(SDL_PIXELFORMAT_RGBA32);0);
SDL_Surface *output = SDL_ConvertSurface(input, format, SDL_FreeFormat(format);