打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SDL历程--课程设计之写字

上一章节我简单的介绍了我们的第一个SDL小程序,实现一个小调色板的功能,注重说明了怎样在SDL_Surface上绘制自己的图案,
这一章节我则侧重于对文字在SDL_Surface上的显示做一下分析。让我们的屏幕也有自己的文字标记...当然了..也可以做出自己的记事本....
当然了..想要写字,必备的一条便是要有字库,大家可以到网上下载nfs-share.tar.gz这个字体包。然后将其中的simfang.ttf放在工作目录即可了,
大致使用到的函数有
TTF_OpenFont(const char *file, int ptsize);
设置字体,在我这里即为刚才下的nfs-share.tar.gz中的simfang.ttf,第二个参数即为所要设置字体大小,
TTF_RenderUTF8_Solid(TTF_Font *font,
    const char *text, SDL_Color fg);
    第一个参数为由TTF_OpenFont函数返回的TTF_Font对象,第二个参数为所要显示的文本文件内容,第三个参数为是一个
    字体颜色的结构体对象。
SDL_UpperBlit(SDL_Surface *src, SDL_Rect *srcrect,
    SDL_Surface *dst, SDL_Rect *dstrect);
这个函数的宏定义是SDL_BlitSurface,所以一般用的都是SDL_BlitSurface函数,
下面就以一个简单的范例来说明问题吧....

int main(int argc,char *argv[])
{
 if(SDL_Init(SDL_INIT_VIDEO) < 0 || TTF_Init() < 0 )
 {
  printf("Init error\n");
  return -1;
 }

 SDL_Surface *screen = SDL_SetVideoMode(640,480,32,SDL_SWSURFACE);

 if(!screen)
 {
  printf("Init video mode error\n");
  return -1;
 }
 
 TTF_Font * font = TTF_OpenFont("simfang.ttf",20);
 SDL_Color color = {175,100,220};
 SDL_Surface *text = TTF_RenderUTF8_Solid(font,"HELLO,你好",color);

 SDL_BlitSurface(text,0,screen,0);

 
 SDL_UpdateRects(screen,1,&screen->clip_rect);

 TTF_CloseFont(font);

 SDL_Delay(2000);

 TTF_Quit();
 SDL_Quit();
 return 0;
}

在一切都完成以后别忘了释放哟....养成一个好的习惯是成功的开始。
下一章我会对图片的加载来一个剖析....

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
童年记忆第三弹!!!用python写一个天天酷跑
pygame菜鸟入门指南
SurfaceClass
什么是SDL渲染器?
SDL使用
SDL Lib笔记 (一) 基本框架
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服