用 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)代码如下 /*************************************************************************** ...
随机推荐
- 【PowerShell 学习系列】-- 删除Win10自带应用
Get-AppxPackage *3d* | Remove-AppxPackage Get-AppxPackage *camera* | Remove-AppxPackage Get-AppxPack ...
- linux shell操作
---------------------------------------------------- 原文:http://unix.stackexchange.com/questions/2863 ...
- [Javascript] Convert a Callback-Based JavaScript Function to a Promise-Based One
Sometimes, you might want to convert a JavaScript function that accepts a callback to one that retur ...
- Android中Intent具体解释(二)之使用Intent广播事件及Broadcast Receiver简单介绍
通过第一篇的解说,我们已经看到了怎样使用Intent来启动新的应用程序组件,可是实际上他们也能够使用sendBroadcast方法来在组件间匿名的广播消息. 作为一个系统级别的消息传递机制,Inten ...
- ShopMall
https://github.com/KingsleyYau/ShopMall-Android https://github.com/KingsleyYau/ShopMall-iOS https:// ...
- 李洪强iOS开发之- 点击屏幕遮挡键盘
李洪强iOS开发之- 点击屏幕遮挡键盘 实现的效果: 01 - 给当前的view添加点击事件,使点击屏幕的时候,让键盘退出 /** * 点击屏幕 隐藏键盘 * * @param tap */-(vo ...
- 杭电 1596 find the safest road (最短路)
http://acm.hdu.edu.cn/showproblem.php?pid=1596 这道题目与杭电2544最短路的思想是一样的.仅仅只是是把+改成了*,输入输出有些不一样而已. find t ...
- Java 复杂excel报表导出
MyExcel,是一个可直接使用Html文件,或者使用内置的Freemarker.Groovy.Beetl等模板引擎Excel构建器生成的Html文件,以Html文件中的Table作为Excel模板来 ...
- 蓝牙协议(bluetooth spec)
1.概述: 蓝牙协议规范遵循开放系统互连参考模型(OSI/RM),从低到高地定义了蓝牙协议堆栈的各个层次. SIG(Session Initiation Protocol)所定义的蓝牙技术规范的目 ...
- linux内存操作--ioremap和mmap
最近在做视频输出相关的东西,对于预留给framebuffer的内存使用不是很清楚,现在找到一些资料整理一下,以备使用.if (想看使用方法) goto 使用方法: 对于一个系统来讲,会有很多的外 ...