如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 270 编程语言
上节课介绍了如何显示bmp格式的图片,那么非bmp格式的图片怎么显示呢?
这需要依靠扩展库SDL_image.h来实现。
此处的SDL代码是在c4droid运行的,将显示一张image.jpg的图片。
跟上一课对比,此处代码修改了三个地方,其他地方不变。
如下图三处标记。
10手机编程软件c4droid如何正确导出apk
8SDL2入门(一)创建窗口和绘制窗口
4SDL2入门(二)显示一张bmp格式的图片
只解释修改的三个地方,其余的不做解释。若想了解,请查看上节课。
第一步是引用拓展库SDL_image.h。如图。
第二步只是修改窗口标题。
第三步利用IMG_Load将图片加载到内存中,这个函数支持bmp、jpg、png、gif、jpge等格式的图片。函数参数是图片的路径名。成功返回一个指针变量,失败返回NULL。
运行结果。
代码:
#includeSDL2/SDL.h>
#includeSDL2/SDL_image.h>
intmain(intargc,char**argv)
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Window*window=SDL_CreateWindow("显示非bmp格式的图片",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,720,1280,SDL_WINDOW_SHOWN);
SDL_Renderer*renderer=SDL_CreateRenderer(window,-1,SDL_RERER_ACCELERATED);
SDL_RenderClear(renderer);
SDL_Surface*surface=IMG_Load("./resource/image.jpg");
SDL_Rectbox={0,0,surface->w,surface->h};
SDL_Texture*texture=SDL_CreateTextureFromSurface(renderer,surface);
SDL_RenderCopy(renderer,texture,NULL,&box);
SDL_RenderPresent(renderer);
SDL_Delay(2000);
SDL_FreeSurface(surface);
SDL_DestroyTexture(texture);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
}
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 270 编程语言
web图表开发工具FineReport:[11]连续分组,数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。......
2023-03-17 499 编程语言