百润网站建设,上海企业网站设计制作,自己做的网站提示不安全吗,网站开发的发展SDL_image SDL 默认支持的#xff0c;只能打开 BMP 格式的图片 。 然而我们常见的是 Png jpg 格式的图片#xff0c;于是我们这节完成 SDL 借用 自带的三方库 #xff0c;来 完成加载渲染 png 等其他图片格式。 SDL_image 简介 使用 SDL_image #xff0c;您…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 只要三行代码是的你没有看错就是三 行代码我当时都有点不可思议那么进入正题吧。