原文地址: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. Windows系统内存分析工具的介绍

      Windows系统内存分析工具的介绍(进程管理器,资源管理器,性能监视器, VMMap, RamMap,PoolMon) 微软官方提供多种工具来分析Windows 的内存使用情况,除了系统自带的任 ...

  2. 抽屉柜式MCC柜中PROFIBUS设备推荐波特率及相应传输距离

    抽屉柜式MCC柜中PROFIBUS设备推荐波特率及相应传输距离.例如以下图所看到的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L ...

  3. javascript扩展时间方法,格式化,加减日期

    /** *对Date的扩展,将 Date 转化为指定格式的String *月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, *年(y)可以用 1-4 个占位符 ...

  4. [幽默漫画]对于程序猿来说deadline很容易搞定!

     更多漫画在这里

  5. 35个让人惊讶的CSS3动画效果

    1. Pure CSS Coke Can 2. Colorful Clock 3. jQuery DJ Hero 4. Animated Pricing Column 5. Slick jQuery  ...

  6. LintCode: Triangle

    C++ 逆推 class Solution { public: /** * @param triangle: a list of lists of integers. * @return: An in ...

  7. bootstrap——强大的网页设计元素模板

    本文介绍一个网页设计工具——bootstrap,它包含了很多华丽的按钮及排版,我们可以在网页设计中直接使用它,尤其是加入我们只是想简单的使用一下的话,将会是一个不错的选择,下面是几张examples, ...

  8. 学习 Linux,302(混合环境): Samba 角色

    http://www.ibm.com/developerworks/cn/linux/l-lpic3-310-2/ 概述 在本文中,了解下列概念: Samba 安全模式 核心 Samba 守护程序的角 ...

  9. shell alias添加别名使用

    大家一定知道SHELL的基本用法,那么著名的命令:`ll`是代表`ls -l`,那么是怎么实现的哪?其实是添加了一个别名alias ll="ls -l" 我使用alias最多的地方 ...

  10. nginx 监听一个端口同时支持https和http

    nginx 如何想同时支持https和http,必须监听两个不同的端口,比如http:listen 80; https:listen 443;   server { listen 1234 ssl;s ...