原文地址:https://blog.csdn.net/qq_38124598/article/details/73543184

这里总结一下个人对SDL的一些函数,方便以后查询。

  v1.0.1

1.窗口:

SDL_Init(SDL_INIT_VIDEO);
//创建窗口
SDL_Window*window=SDL_CreateWindow(char*title,int x, int y, int width, int height,);
//获取窗口大小
int win_w,win_h;SDL_GetWindowSize(window,&win_w,&win_h);
//销毁窗口
SDL_DestroyWindow(window);
SDL_Quit();
 
 
  2.渲染器:
//创建
SDL_Renderer*renderer=SDL_CreateRenderer(window,-,);
//设置透明度
SDL_SetRenderDrawBlendMode(renderer,SDL_BLENDMODE_BLEND);
//清理
SDL_RenderClear(renderer);
//刷新
SDL_RenderPresent(renderer);
//销毁
SDL_DestroyRenderer(renderer);
 
  3.加载图片:

#include <SDL2/SDL_image.h>
SDL_Surface*surface=IMG_Load(char*file);
 
  4.加载文字:
#include <SDL2/SDL_ttf.h>
TTF_Init();
TTF_Font*font=TTF_OpenFont(char*file, int size);
SDL_Surface*surface=TTF_RenderUTF8_Blended_Wrapped(TTF_Font*font, chae*str, SDL_Color color, int width); //文字风格:斜体。另外 TTF_STYLE_BOLD:粗体,TTF_STYLE_UNDERLINE:下划线,TTF_STYLE_STRIKETHROUGH:删除线,TTF_STRLE_NORMAL:正常
TTF_SetFontStyle(TTF_Font*font, TTF_STYLE_ITALIC);
//退出
TTF_CloseFont(font);TTF_Quit();
 
  5.texture:

//surface转换成texture
SDL_Texture*texture=SDL_CreateTextureFromSuface(SDL_Renderer*renderer, SDL_Surface*surface);
//获取texture的长宽的with,height;
SDL_QueryTexture(SDL_Texture*texture, NULL, NULL, &with, &height);
 
  6.surface:
//销毁
SDL_FreeSurface(SDL_Surface*surface);
  7.设置surface和texture的透明度:
SDL_SetSurfaceBlendMode(SDL_Surface*surface, SDL_BLENDMODE_BLEND);
SDL_SetSurfaceAlphaMod(SDL_Surface*surface, Uint8 alpha);
SDL_SetTextureBlendMode(SDL_Texture*texture, SDL_BLENDMODE_BLEND);
SDL_SetTextureAlphaMod(SDL_Texture*texture, Uint8 alpha);
  8.画画:
SDL_SetRenderDrawColor(SDL_Renderer*renderer, Uint8 r,Uint8 g, Uint8 b, Uint8 a); //设置画笔颜色
SDL_FillRect(SDL_Renderer*renderer, SDL_Rect*rect); //填充矩形
  9.在texture上画画:

SDL_Texture*texture=SDL_CreateTexture(SDL_Renderer*renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, int width, int height);
SDL_SetRenderDrawColor(SDL_Renderer*renderer, , , , );
SDL_SetRenderTarget(SDL_Renderer*renderer, SDL_Texture*texture);
SDL_RenderClear(SDL_Renderer*renderer);
...//画画
SDL_SetRenderTarget(SDL_Renderer*renderer, NULL);
 

SDL操作笔记的更多相关文章

  1. SDL开发笔记(二):音频基础介绍、使用SDL播放音频

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  2. Centos7系统下修改主机名操作笔记

    习惯了在Centos6系统下修改主机名的操作,但是Centos7下修改主机名的操作却大不相同!操作笔记如下: 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient) ...

  3. C语言 字符串操作 笔记

    /* C语言字符串的操作笔记 使用代码和注释结合方式记录 */ # include <stdio.h> # include <string.h> int main(void) ...

  4. Oracle 日常应用和操作笔记

    简单整理oracle日常应用笔记. 1.采用excel表格中的数据直接粘贴数据库记录中,默认会在后面加一个空格“”,操作完成后一定要记得对空格匹配然后修改一下. 2.查询数据库里的所有表结构, 采用s ...

  5. MongoDb的副本集搭建教程(个人操作笔记)

    很多公司都在用MongoDb ,一直没有时间研究,最近好好的整了一下,做下笔记,直接上操作步骤,关于Mongodb的理论知识可以搜索其他资料,也可以联系我索取 mongoDB官方已经不建议使用主从模式 ...

  6. Ceph分布式存储-运维操作笔记

    一.Ceph简单介绍1)OSDs: Ceph的OSD守护进程(OSD)存储数据,处理数据复制,恢复,回填,重新调整,并通过检查其它Ceph OSD守护程序作为一个心跳 向Ceph的监视器报告一些检测信 ...

  7. LINUX上安装JDK+tomcat+mysql操作笔记

    1.环境准备: 1-1.centos 64位(本人的虚拟机安装此系统),安装步骤和网络配置已经在前两篇记录. 1-2.JDK 版本1.8 1-3.tomcat压缩包 1-4.CRT远程连接工具(可用其 ...

  8. git常用操作笔记

    这是我看了廖雪峰的git教程,写的笔记,仅作为一个学习的记录 一.大多数我们面临的是已经有一个进行中的项目了,我们只需克隆下来就可以了 1.安装git,安装完后,可输入git,回车,查看是否已安装 2 ...

  9. 关于pgsql 的json 和jsonb 的数据查询操作笔记整理

    关于pgsql 的json 和jsonb 的数据处理笔记 1. json 和jsonb 区别两者从用户操作的角度来说没有区别,区别主要是存储和读取的系统处理(预处理)和耗时方面有区别.json写入快, ...

随机推荐

  1. 使用 mongodb 的 Docker Image 快速上手系列 lab

    Docker 主要的概念 Dockerfile => 用來產生 docker image 用的(介紹) Image => 可以用來產生 docker container Container ...

  2. glGetString(GL_VERSION) returns “OpenGL ES-CM 1.1” but my phone supports OpenGL 2

      [问] I'm trying to make an NDK based OpenGL application. At some point in my code, I want to check ...

  3. 轻松解决vuejs跨域

    Vuejs跨域问题实战 有时候,本地使用webpack开启一个node的dev端口,项目中使用vuejs去访问别人家的api,比如豆瓣或者其他的api,不使用jsonp肯定就会报跨域的问题. 如何让我 ...

  4. linux mount

    挂载       mount //10.65.200.168/linux_bj /home/linux_bj -t cifs -o username=niu,password=ruanxiaopang ...

  5. Horizon Is Easy, Horizon Is Complex

    本文出自我的同事兼基友@monsterxx03 之手,本人稍作润色 Horizon Is Easy, Horizon Is Complex 如果要用一句话来概括Openstack Dashboard项 ...

  6. Spring AspectJ切入点语法详解

    1.Spring AOP支持的AspectJ切入点指示符 切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指 ...

  7. OS 获取用户相册。保存图片。编辑图片为圆形

    // // ViewController.m // YunPhoto // // Created by qingyun on 3/4/14. // Copyright (c) 2014 qingyun ...

  8. C#学习记录二:高级数据存储方式

    1,结构 结构和类的区别主要在于存储和访问方式,结构是一种值 数据类型,而类是一一种引用数据类型.所谓值数据类型存储个人理解是存在堆里面的,所谓引用数据类型存储在了栈里面,相当于存储了一个指针. 结构 ...

  9. 微信小程序 - 图片懒加载

    wxml <!-- 数据源 --> <view class='item-{{index}}' wx:for="{{lazyData}}" wx:key=" ...

  10. [memory]虚拟地址空间分布

    一.开篇 踏入嵌入式软件行业也接近2年了,从研一开学起懵懵懂懂的開始学习C语言.因为本科时对这方面了解的少之又少,所以学起来比較困难.可是有一群无私奉献的小伙伴,慢慢的,慢慢的,慢慢的,一仅仅脚踏进了 ...