手机c吧 关注:524贴子:730
  • 0回复贴,共1

c4的加载图片代码解析

只看楼主收藏回复

序讲解
SDL_Renderer类型
*SDl_CreateRenderer(窗口,-1,falg);
{创建一个2D渲染窗口
SDL_RENDERER_ACCELERATED使用硬件加速如果使用了硬件加速那么必须使用SDL_Texture(SDL_Texture*SDL_CreateTextureFromSurface(渲染器,现有的图);从现有的图创建一个硬件加速纹理)
SDL_RENDERER_PRESENTVSYNC使用和窗口的同步频率
SDL_RENDERER_TARGETTEXTURE渲染器支持渲染纹理
SDL_RENDERER_SOFTWARE渲染器是一种软件后退

渲染器说明:用来在窗口中绘图的
SDL_Window类型
SDL_Window*SDL_CreateWindow();

“窗口标题,x,y,宽,高,falg”
SDL_WINDOW_FULLSCREEN全屏窗口
SDL_WINDOW_FULLSCREEN_DESKTOP全屏窗口在当前桌面分辨率
SDL_WINDOW_OPENGL与OpenGL窗口可用的上下文
SDL_WINDOW_HIDDEN窗口不可见
SDL_WINDOW_SHOWN窗口是可见的
SDL_WINDOW_BORDERLESS没有窗口装饰
SDL_WINDOW_RESIZABLE窗口可以调整大小
SDL_WINDOW_MINIMIZED窗口最小化
SDL_WINDOW_MAXIMIZED窗口最大化
SDL_WINDOW_INPUT_GRABBED窗口有输入焦点
SDL_WINDOW_ALLOW_HIGHDPI窗口应该创建在high-DPI模式如果支持(>=SDL2.0.1)

SDL_Rectpos;
SDL_Texture类型
SDL_QueryTexture(SDL_Texture*纹理,NULL,NULL,&pos.w,&pos.h);指定图像硬件的纹理绘制位置
SDL_RenderCopy(SDL_Renderer*渲染器,SDL_Texture*硬件加速,NULL,&pos);把硬件加速的纹理复制给渲染器
SDL_RenderClear(窗口);清空窗口
SDL_RenderCopy(窗口,硬件纹理,NULL,NULL);
SDL_RenderPresent(窗口);更新窗口
关于SDL_RendererCopy();中的NULL
SDL_RendererCopy第一个NULL表示需要绘制的图像的大小NULL空表示全部绘制
第二个NULL表示绘制在屏幕上的位置为空是则绘制整个屏幕
SDL_Destroy(窗口或者图像或者渲染或者纹理);释放窗口内存
SDL_Quit();退出SDL
好多代码阿!不过人家出来的东西是好的!


来自Android客户端1楼2014-12-27 09:40回复