单纯的SDL只能显示bmp格式的图片,如果需要显示其他的图片的话,需要借助SDL提供的其他工具SDL_Image,下载地址 http://www.libsdl.org/projects/SDL_image/ 。在各种各样的图片格式中支持透明图片的格式有32位的bmp,png,gif。
#include "SDL.h"
#include "SDL_image.h"
int main(int argc, char* argv[])
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Window* window = SDL_CreateWindow("Tutorial", 100, 100,
600, 600, SDL_WINDOW_SHOWN);
//3.支持背景透明的图片格式,32位的bmp, png, gif
SDL_Surface* surface = SDL_GetWindowSurface(window);
SDL_Surface* picture = IMG_Load("C:\\Users\\xxxxx\\Desktop\\1.jpg");
SDL_Rect rect;
rect.x = 0;
rect.y = 0;
int i;
for (i = 0; i < 10;++i)
{
SDL_BlitSurface(picture, NULL, surface, &rect);
rect.x = rect.x + 100;
}
SDL_UpdateWindowSurface(window);
SDL_Delay(4000);
SDL_FreeSurface(picture);
SDL_FreeSurface(surface);
SDL_DestroyWindow(window);
SDL_Quit();
}