SDL_Test库(1)——SDL不用TTF库绘制文字

  SDL库有很多的扩展,这很方便。但是每个扩展库都很臃肿,一般都会拖上额外的两三个开源库,更有甚者,扩展库的大小比SDL库本身还大得多。但有一个自带的、很有用的库很容易被大家忽视。它就是本文要讲的SDL_Test库。本库可以在不加载TTF库时在窗口上绘制字符串。

  函数名叫SDLTest_DrawString,下面是E文的函数介绍和使用方法:

Draw a string in the currently set font.

* param renderer The renderer to draw on.
* param x The X coordinate of the upper left corner of the string.
* param y The Y coordinate of the upper left corner of the string.
* param s The string to draw.

* returns Returns 0 on success, -1 on failure.

  简而言之,就是传入一个Renderer,坐标与C风格字符串,就可以完成绘制。很简单,无须再多的介绍,这里直接给上样例源码:

 1 #include <SDL2/SDL.h>
 2 #include <SDL2/SDL_test.h>
 3
 4 SDL_Renderer *WindowRen=NULL;
 5 SDL_Window *Windows=NULL;
 6
 7 int main(int argc,char* argv[]){
 8     SDL_Init(SDL_INIT_AUDIO);
 9     Windows=SDL_CreateWindow("TestString",100,100,650,650,SDL_WINDOW_SHOWN);
10     WindowRen=SDL_CreateRenderer(Windows,-1,0);
11     SDL_SetRenderDrawColor(WindowRen,255,0,0,255);//Set the color of the string
12     SDLTest_DrawString(WindowRen,100,100,"HelloWorld!");//Draw a string on (100,100)
13     SDL_RenderPresent(WindowRen);
14     while (1){
15         SDL_PumpEvents();
16         SDL_RenderPresent(WindowRen);
17     }
18     return 0;
19 }

  另外有一点要注意的是,连接时,SDL2_test库要放在SDL2库的后面,原因是前者依赖后者引出的函数。

时间: 2025-01-02 17:25:46

SDL_Test库(1)——SDL不用TTF库绘制文字的相关文章

从 ReactiveCocoa 中能学到什么?不用此库也能学以致用

从知道ReactiveCocoa开始就发现对这个库有不同的声音,上次参加<T>技术沙龙时唐巧对在项目中已全面使用FRP的代码家提出为什么这种编程模型出现了这么长时间怎么像ReactiveCocoa这种完全按FRP编写的库没能够流行起来这个问题.对这个问题的回答一般都是门槛高,解决方法就是培训和通过熟悉以前的代码来快速入门.其实在我学习的过程中也发现确实会有这个问题,不过就算是有这样那样问题使得ReactiveCocoa这样的库没法大面积使用起来,也不能错失学习这种编程思想的机会. 如果不用这样

不用Unity库,利用.NET动态代理自己实现AOP

AOP意为面向切面的程序设计,主要表现为对不同的代码逻辑进行隔离,从而降低不同业务逻辑之间的耦合性,AOP又理解为“横切”,可以在不改变原有实现的情况下,对代码进行拦截和扩展,如果原有设计像一个瓶子,AOP就相当于一个贴纸,是贴在瓶子外面的,而不是打开瓶盖从瓶口把实现放进瓶子里. .NET中实现AOP的第三方库有很多,这里不再阐述了,在这里我们主要用到了.NET中的动态代理技术,为了让大家更深入地理解,这里借用一下上一篇文章(不用Unity库,自己实现.NET轻量级依赖注入)中的例子,在上一篇文

阿里UX矢量图标库–最强大的矢量图标库(Icon font制作力荐工具)

继前面介绍过ICON-FONT的制作后,找了几个ICON库都是国外的今天偶然发现阿里巴巴的图标矢量库,www.iconfont.cn用了之后感觉很强大,丰富的图标库(集合阿里妈妈&淘宝的图标库),还支持自己上传,关键还能生成你项目专用的CDN,速度不言而喻,支持国产.下面引用介绍 转载请注明来源:Web前端(W3Cways.com) - Web前端学习之路 » 阿里UX矢量图标库–最强大的矢量图标库(Icon font制作力荐工具) 使用SVG来代替Web Iconfont(图形字体化) 从最开

网络请求库和图片加载库

网络请求库 概述:所有网络库的原理是: 网络请求一般是基于HttpURLConnection和HttpClient进行封装的,也有自己编写Socket实现的,比如ion和OkHttp:请求的执行一般是通过线程池来管理,异步请求得到结果,则通过回调接口接收:并且一般接收结果的回调都通过Handler去在主线程执行 Ion的使用 详情查看Github主页https://github.com/koush/ion 介绍: 它支持网络请求和进行图片加载的双重功能 拥有链式api风格(Fluent API)

第一百六十一节,封装库--JavaScript,完整封装库文件

封装库--JavaScript,完整封装库文件 /** *feng_zhuang_ku_1.0版本,js封装库,2016/12/29日:林贵秀 **/ /** 前台调用 * 每次调用$()创建库对象,使其每次调用都是独立的对象 * $()创建库对象,有一个可选参数,参数有两种方式,1是传入的this,2是传入的字符串 * 可选参数说明: * 传入的this,this,就是当前对象本身 * * 传入的字符串,代表获取元素选择器 * 参数是元素选择器(id值.class值.标签名称)其中一样的字符串

DG之主库、备库切换(物理备库)

DG之主库.备库切换 一.开库与关库顺序 开库顺序 先启备库,再启主库(启动监听.打开告警日志) 关库顺序 先关主库,再关备库 二.主备库切换 1.操作过程一览 步骤1:启动备库.监听.告警: 步骤2:启动主库.监听.告警: 步骤3:主库(bj)查询信息 SQL>selectname,dbid,database_role,protection_mode from v$database; 步骤4:备库(sh)上做recover SQL>recovermanaged standby databas

从MySQL全库备份中恢复某个库和某张表【转】

从MySQL全库备份中恢复某个库和某张表 一.全库备份-A [[email protected] backup]#mysqldump -uroot -p123456 --default-character-set=utf8 --single-transaction --extended-insert=false --hex-blob --master-data=2 --log-error=/tmp/test.err --routines --triggers --events --quick -

【金码坊AOS开发平台】完善了AOS标签库,和标准标签库完美兼容了

[金码坊AOS开发平台]今天①完善了AOS标签库,和标准标签库完美兼容了.②新开发了根据子页面动态生成主页面的二级导航菜单功能.#AOS开发平台#

不容忽视的警告:默认库msvcrt.lib与其他库的使用冲突,请使用/NODEFAULTLIB:library

用Visual Studio编译C++项目的时候可能会遇到这个警告:默认库msvcrt.lib与其他库的使用冲突,请使用/NODEFAULTLIB:library. 不要因为是警告就可以不管了,这个问题不解决会给你带来无穷无尽的痛苦. 之所以VS会爆出警告,是因为VS在编译链接的时候发现既链接了msvcrtd.lib又要去链接msvcrt.lib.这种情况往往是因为你引用了地方三库.VS抱怨了而你没有关心,程序虽然编完了,但是一运行就出错,这时再去解决问题就麻烦了,你甚至不知道错在哪里. 还是老