/* loadimg - Function to load an image from file using SDL_image Copyright (C) 2002 John Ericson */ #include "loadimg.h" /* When loading PNG images you dont have to set transparent=true, If the Image is transparent it will be by default. */ SDL_Surface *loadimage(char *file, bool transparent) { SDL_Surface *image, *rtnsurface; image = IMG_Load(file); if (image == NULL) { fprintf(stderr, "Error couldn't load image %s: %s\n", file, IMG_GetError()); return NULL; } if (transparent) { /* Assuming 8-bit image */ /* We use the color of the first pixel (Upper left corner) to decide which color to make transparent */ SDL_SetColorKey(image, (SDL_SRCCOLORKEY|SDL_RLEACCEL), *(Uint8 *)image->pixels); } rtnsurface = SDL_DisplayFormat(image); if (rtnsurface == NULL) { /* The conversion fails or runs out of memory */ fprintf(stderr, "Image Conversion failed\n"); return NULL; } SDL_FreeSurface(image); return rtnsurface; }