用 SDL2 显示一张图片
来源:
http://adolfans.github.io/sdltutorialcn/ (中文教程)
http://www.willusher.io/pages/sdl2/ (英文教程)
环境:SDL2 + VC++2015
下面的代码将打开一个窗口显示hello.bmp
#include <iostream>
#include <SDL.h> int main(int argc, char** argv)
{
//初始化SDL
if (SDL_Init(SDL_INIT_VIDEO) != )
{
std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
return ;
} //创建窗口
SDL_Window *win = nullptr;
win = SDL_CreateWindow("Hello World!",
SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
, , SDL_WINDOW_SHOWN);
if (win == nullptr)
{
std::cout << SDL_GetError() << std::endl;
return ;
} //创建渲染器
SDL_Renderer *ren = nullptr;
ren = SDL_CreateRenderer(win, -,
SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
if (ren == nullptr)
{
std::cout << SDL_GetError() << std::endl;
return ;
} //创建表面
SDL_Surface *bmp = nullptr;
bmp = SDL_LoadBMP("hello.bmp");
if (bmp == nullptr) {
std::cout << SDL_GetError() << std::endl;
return ;
} //创建材质
SDL_Texture *tex = nullptr;
tex = SDL_CreateTextureFromSurface(ren, bmp);
SDL_FreeSurface(bmp); //清空渲染器
SDL_RenderClear(ren);
//将材质复制到渲染器
SDL_RenderCopy(ren, tex, NULL, NULL);
//呈现渲染器
SDL_RenderPresent(ren);
//窗口延时
SDL_Delay(); //释放资源
SDL_DestroyTexture(tex);
SDL_DestroyRenderer(ren);
SDL_DestroyWindow(win);
//退出SDL
SDL_Quit(); return ;
}
用 SDL2 显示一张图片的更多相关文章
- 使用SDL2显示一张图片,SDL2上手贴
SDL全名Simple DirectMedia Layer,是一个跨平台的底层音频.视频.键盘.鼠标操作库,操作实际通过更底层的OpenGL/Direct3D完成,在保留跨平台的兼容性之外提供了非常高 ...
- SDL2学习(一): 显示一张图片
SDL是一个跨平台的多媒体库,它通过OpenGL和2D视频帧缓冲,提供了针对音频.视频.键盘.鼠标.控制杆及3D硬件的低级别的访问接口.这里使用较新的SDL2库. 1. 配置SDL开发环境 1.1 下 ...
- @Html.Raw显示一张图片
在ASP.NET MVC中,显示一张图片,是很方便的事情,完全可以在控制器中组合html代码,并传给视图. 下面一个简单的例子: public ActionResult HtmlRawImage() ...
- 仿AS语法来写HTML5—第1章,显示一张图片
最近开始学习html5,因为一直都是研究as,所以还是觉得as顺眼一点,但是html5也不能不学,于是就想出了,可以把html5用as的语法来写出来,做游戏应该来的比较顺手一些,下面开始第一篇 第一篇 ...
- swiper轮播问题之二:默认显示3张图片,中间显示全部两边显示部分
其二:项目遇到比较有点要求的轮播图,默认显示3张图片,中间显示全部,两边显示部分.如图: 网上找了也没有找到合适的,最后经过自己摸索写了出来,贴出代码分享给大家. CSS .swipe ...
- 使用Fresco实现简单的显示一张图片
使用Fresco实现显示一张图片 仅仅是下载一张图片,在下载完之前,先显示一张站位图 效果图 源码 下载地址(Android Studio工程):http://download.csdn.net/de ...
- OpenCV提取显示一张图片(或者视频)的R,G,B颜色分量
使用OpenCV可以提分别提取显示一张图片(或者视频)的R,G,B颜色分量.效果如下. 原图: R: G: B: 示例代码如下,貌似很久以前网上找的的,逻辑很清晰,就是把R,G,B三个分量分开,然后显 ...
- Python+OpenCV图像处理(一)——读取显示一张图片
先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.csdn.net/u011321546/article/category/7495016/2? ...
- opencv实例一:显示一张图片
第一个简单的实例,显示一张图片: 1)代码如下 /*************************************************************************** ...
随机推荐
- SQL Server I/O Basics
SQL Server I/O Basics Chapter 1http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIO ...
- Oracle释放高水位线
/*****************************************************************原因:由于原导出数据库没有整理表空间其中主要包括两方面,一是用户产生 ...
- 【flyway】开源的数据库版本管理工具【migration】
开源的数据库版本管理工具[migration] 记录
- 【面试 struts2】【第三篇】struts2的问题
1.struts2的工作流程 1>客户端浏览器发出HTTP请求. 2>根据web.xml配置,该请求被FilterDispatcher接收 3>根据struts.xml配置,找到需要 ...
- 【Android开发—智能家居系列】(三):手机连接WIFI模块
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 概述 实现连接WIFI的功能会用到一个工具类,源码可以点击链接下载.网上这些类似的工具类里的代码差不多是一样的.连接无线网主要有 ...
- Android Studio——gradle同步出错:MALFORMED
Android Studio之前使用本地的gradle-2.10,而后创建新的工程总是报错,信息如下: Gradle sync failed: MALFORMED 而后在File->Projec ...
- val();html();.text()区别 setInterval与setTimeout的区别
val();html();.text()区别 对于innerHTML 属性,几乎所有的元素都有innerHTML属性,它是一个字符串,用来设置或获取位于对象起始和结束标签内的HTML.(获取HTM ...
- oracle spm使用1
oracle11g new feature SPM 有助于保持sql的语句特性,仅仅同意运行性能提高的运行计划. 它不同于stored outlines, spm在于稳定sql性能,而store ou ...
- 6. IO复用:select 和 poll
select #include <sys/select.h> #include <sys/time.h> int select(int maxfdp1, fd_set *rea ...
- 豆瓣面试题strstr)
/*(豆瓣2013面试题strstr) 有一个在给定字符串中查找子串的函数strstr, 该函数从给定的字符串src中查找substr并返回一个整数, 指明substr第一次出现的位置(从0开始计数) ...