Función IMG_Load
Sintaxis
SDL_Surface * IMG_Load(const char *file);
Descripción
Carga una imagen de una ruta de sistema de archivos en una superficie de software.
Parámetros
- file
- Una ruta en el sistema de archivos desde la que cargar una imagen.
Valor de retorno
Devuelve una nueva superficie SDL o NULL en caso de error.
Observaciones
Una SDL_Surface es un buffer de píxeles en memoria accesible por la CPU. Se utiliza cuando se planea pasar los datos a otra cosa o manipularlos posteriormente en código.
No hay garantías sobre qué formato tendrán los nuevos datos de SDL_Surface; en muchos casos, SDL_image intentará proporcionar una superficie que coincida exactamente con la imagen proporcionada, pero en otros puede que tenga que convertirla (ya sea porque la imagen está en un formato que SDL no soporta directamente o porque son datos comprimidos que podrían descomprimirse razonablemente a varios formatos y SDL_image tuvo que elegir uno). Se puede inspeccionar una SDL_Surface para conocer sus características específicas y utilizar SDL_ConvertSurface para migrarla a cualquier formato compatible.
Si el formato de imagen soporta un píxel transparente, SDL establecerá la clave de color para la superficie. Después se puede activar la aceleración RLE en la superficie llamando a: SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey);
Hay una función separada para leer archivos desde un SDL_RWops, si necesita una abstracción i/o para proporcionar datos desde cualquier lugar en lugar de una simple lectura del sistema de archivos; esa función es IMG_Load_RW().
Si se está utilizando la API de renderizado 2D de SDL, hay una llamada equivalente para cargar imágenes directamente en una SDL_Texture para su uso por la GPU sin utilizar una superficie de software: llamar a IMG_LoadTexture() en su lugar.
Cuando termine de utilizar la superficie devuelta, la aplicación debe deshacerse de ella con una llamada a SDL_FreeSurface().