SDL_image
 SDL  默认支持的,只能打开  BMP  格式的图片 。  
 
 
 然而我们常见的是  Png jpg  格式的图片,于是我们这节完成  SDL  借用 自带的三方库 ,来  
 
 完成加载渲染  png  等其他图片格式。 
 
 
 
 SDL_image  简介  
   使用  SDL_image ,您可以加载流行的图像格式,如  BMP , PNM ( PPM / PGM / PBM ),  
  XPM , LBM , PCX , GIF , JPEG , PNG , TGA  和  TIFF  格式。 这些被加载到你的  SDL_Surface  上, 并且正常地画在屏幕上。同时, 支持 Alpha  透明度,比如加载  PNG  图片。 
    SDL2.0  扩展库—— SDL_image  的添加  
   首先,安装前面的配置,有一个基本的  SDL2.0  开发工程,在这个基础上添加  SDL_image  扩  
  展库。  
   下载地址: https://www.libsdl.org/projects/SDL_image/  
   . 还是在  windows  上,用  vs  编辑器,下载对应的开发包: 
   
 int main_show_png()
{bool quit = false;SDL_Event event;//SDL初始化,这里只显示图片,所以只初始化VIDEO系统,更多的支持查看官方文档SDL_Init(SDL_INIT_VIDEO);//为了显示png图片,额外使用了图片库,所以要单独初始化IMG_Init(IMG_INIT_JPG | IMG_INIT_PNG);//建立SDL窗口SDL_Window * window = SDL_CreateWindow("SDL2 Displaying Image",SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, 0);//渲染层SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0);//如果只是显示一张bmp图片,使用sdl内置的功能即可//SDL_Surface * image = SDL_LoadBMP("only_support_BMP.bmp");//因为要显示png图片,所以使用了外部库,sdl_image库当前支持jpg/png/webp/tiff图片格式SDL_Surface * image = IMG_Load("Hello_world.jpg");//载入的图片生成SDL贴图材质SDL_Texture * texture = SDL_CreateTextureFromSurface(renderer, image);while (!quit){//主消息循环SDL_WaitEvent(&event);switch (event.type){	//用户从菜单要求退出程序case SDL_QUIT:quit = true;break;}//如果指定显示位置使用下面注释起来的两句//SDL_Rect dstrect = { 5, 5, 320, 240 };//SDL_RenderCopy(renderer, texture, NULL, &dstrect);//把贴图材质复制到渲染器SDL_RenderCopy(renderer, texture, NULL, NULL);//显示出来:刷新渲染器SDL_RenderPresent(renderer);}//典型的三明治结构,清理各项资源SDL_DestroyTexture(texture);SDL_FreeSurface(image);SDL_DestroyRenderer(renderer);SDL_DestroyWindow(window);//退出image库IMG_Quit();//退出SDLSDL_Quit();return 0;
}SDL_mixer
 SDL  本身的音频的扩展是通过  SDL_Mixer  来扩展的。 
   文档来看 . 可以支持  Wav,MP3,OGG,FAC,MIDI  几种常用的音频的格式。 
   SDL_mixer  本身只提供  WAV  的解码播放功能 . 其余格式都是封装第三方库来实现的。 
   SDL_mixer  提供了三个测试程序  playwav ,playmus ,playmidi  来演示如何使用  SDL_mixer  
  进行播放 
  sdl2.0  使用  SDL_Mixer  播放音乐 
           对于 SDL_2.0  中自带的播放  wav  格式音乐的功能我就不说了,本人用起来感觉特别麻  
  烦,操作好多,而  SDL_Mixer  库中加载播放  wav  只要三行代码,是的,你没有看错,就是三  
  行代码,我当时都有点不可思议,那么进入正题吧。