当前位置: 首页 > news >正文

网站优化建议怎么写宿州市埇桥建设规划局网站

网站优化建议怎么写,宿州市埇桥建设规划局网站,网站推广排名怎么做,网站建设技术标准1.简介 SDL本身没有显示文字功能,它需要用扩展库SDL_ttf来显示文字。ttf是True Type Font的缩写,ttf是Windows下的缺省字体,它有美观,放大缩小不变形的优点,因此广泛应用很多场合。 使用ttf库的第一件事要从Windows的…

1.简介

SDL本身没有显示文字功能,它需要用扩展库SDL_ttf来显示文字。ttf是True Type Font的缩写,ttf是Windows下的缺省字体,它有美观,放大缩小不变形的优点,因此广泛应用很多场合。

使用ttf库的第一件事要从Windows的字库下拷贝出一个字库出来,最好是中文字体,这样可以同时支持英文和中文显示。它一般在c:windowsfonts 目录下面。比如simhei.ttf 就是仿黑体的字库,将这个文件拷贝到你的源文件目录下。

要使用SDL_ttf库首先要下载该扩展库:为了方便,我使用的开发环境是Windows。 

下载地址:Releases · libsdl-org/SDL_ttf · GitHub

我使用的是2.20.0的版本,下载我框出来的那个zip包。

2.配置环境

先拷贝SDL_ttf的头文件和库文件到目的目录下,如下图所示:

 

VS的配置请看SDL2 简单介绍以及Windows开发环境搭建-CSDN博客

目录4.配置,跟配置SDL库一样的配置。

3.使用步骤

SDL_ttf的编程的核心数据结构是 TTF_Font,所有的文字输出都是围绕这个结构展开的。

  • 初始TTF库
  • 创建一个对应某个字体文件的TTF_Font.
  • 用TTF输出函数把一段文字输出成SDL_Surface.其中TTF_font是其中必须参数
  • 把这个SDL_Surface 输出到屏幕显示,如果不需它,必须释放它
  • 释放TTF_Font
  • 关闭TTF库

4.接口说明

要想显示文字,首先要将文字渲染成一副图像,将文字渲染成一个图像表面,有三种渲染方式:

  • TTF_RenderText_Solid渲染的最快,但效果最差,文字不平滑,是单色文字,不带边框。
  • TTF_RenderText_Shaded比TTF_RenderText_Solid渲染的慢,但显示效果好于Solid,带阴影。
  • TTF_RenderUTF8_Blended渲染最慢,但显示效果最好。

SDL_ttf有好几个关于文字高度和宽度的方法:

  • int TTF_SizeText(TTF_Font *font, const char *text, int *w, int *h) ;求英文/数字文本高度和宽度,返回值为0表示测试成功
  • int TTF_SizeUTF8(TTF_Font *font, const char *text, int *w, int *h) ;求UTF-8文本高宽
  • int TTF_SizeUNICODE(TTF_Font *font, const Unit16 *text, int *w, int *h) ;求Unicode文本高宽

TTF使用TF_SetFontStyle(TTF_Font *font, int style)显示特殊效果,style 参数可以设为如下几种效果:

  • TTF_STYLE_BOLD #粗体
  • TTF_STYLE_ITALIC #斜体
  • TTF_STYLE_UNDERLINE #下划线
  • TTF_STYLE_STRIKETHROUGH #删除线(即中划线)

如果Style设为 TTF_STYLE_NORMAL, 效果将变成缺省效果。

显示中文代码:直接采用数字编码。

Uint16 msg[1024] = {0x4F60,0x597D,0}; //=Unicode 编码:你好

message = TTF_RenderUNICODE_Solid( font, msg, textColor );

5.示例

#include <stdio.h>
#include <SDL.h>
#include <SDL_ttf.h>#define WINDOW_W 800
#define WINDOW_H 640#undef main
int main(int argc,char* argv[])
{/*SDL初始化*/SDL_Init(SDL_INIT_VIDEO);/*TTF初始化*/TTF_Init();/*创建窗口*/SDL_Window *window = SDL_CreateWindow("SDL SHOW TEXT", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WINDOW_W, WINDOW_H, SDL_WINDOW_SHOWN);/*创建渲染器*/SDL_Renderer *render = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);/*设置渲染器颜色*/SDL_SetRenderDrawColor(render, 255, 255, 255, 255);/*清空渲染器*/SDL_RenderClear(render);/*打开字库*/TTF_Font *ttffont = TTF_OpenFont("GBK.ttf", 50);if (ttffont == NULL){printf("simkai.ttf open failed\n");return 0;}/*字体颜色RGBA*/SDL_Color color = { 52,203,120,255 };SDL_Color bgColor = { 33,33,33,255 };/*设置字体大小*/TTF_SetFontSize(ttffont, 60);/*字体加粗*/TTF_SetFontStyle(ttffont, TTF_STYLE_NORMAL);/*创建字体显示表面*/SDL_Surface *text1_surface = TTF_RenderUTF8_Blended(ttffont, "Hello,SDL!", color);/*创建纹理*/SDL_Texture * texture = SDL_CreateTextureFromSurface(render, text1_surface);/*将surface拷贝到渲染器*/SDL_Rect dstrect;dstrect.x = WINDOW_W / 2 - text1_surface->w / 2;/*显示的起始位置*/dstrect.y = 100;/*显示的起始位置*/dstrect.w = text1_surface->w;/*显示的宽度*/dstrect.h = text1_surface->h;/*显示的高度*//*创建字体显示表面*///SDL_Surface *text1_surface = TTF_RenderUTF8_Blended(ttffont, "Hello,SDL!", color);Uint16 msg[10] = { 0x4F60,0x597D,',','T','T','F',0 }; //=Unicode 编码:你好SDL_Surface *text2_surface = TTF_RenderUNICODE_Solid(ttffont, msg, color);/*创建纹理*/SDL_Texture * texture2 = SDL_CreateTextureFromSurface(render, text2_surface);/*将surface拷贝到渲染器*/SDL_Rect dstrect2;dstrect2.x = WINDOW_W / 2 - text2_surface->w / 2;/*显示的起始位置*/dstrect2.y = 180;/*显示的起始位置*/dstrect2.w = text2_surface->w;/*显示的宽度*/dstrect2.h = text2_surface->h;/*显示的高度*/bool bQuit = false;SDL_Event windowEvent;while (!bQuit) {while (SDL_PollEvent(&windowEvent)) {switch (windowEvent.type) {case SDL_QUIT:bQuit = true;break;default:break;}}SDL_RenderClear(render);SDL_RenderCopy(render, texture, NULL, &dstrect);SDL_RenderCopy(render, texture2, NULL, &dstrect2);SDL_RenderPresent(render);}SDL_FreeSurface(text1_surface);/*释放surface*/SDL_DestroyTexture(texture);/*释放纹理*/TTF_CloseFont(ttffont);TTF_Quit();return 0;
}

http://www.yayakq.cn/news/240402/

相关文章:

  • 企业网站优化分为哪两个方向学编程的费用一般是多少
  • 张家港网站哪家做的好公司网站背景图片
  • 网站制作制作公司郑州团购网站建设
  • 门户网站制作百度文章收录查询
  • 贵阳学网站建设柯桥建设局网站
  • 网站开发图形化软件昆山网站建设怎么样
  • 做网页网站做网站为什么要买网站空间
  • phpcms网站音乐代码存放在什么位置自己做网站能赚钱吗2018
  • 芜湖网站制作网站建设光盘
  • 军博网站建设如何做单页网站
  • c2c模式的网站有哪些设计网站printerest
  • 建筑给排水代做网站谷歌浏览器网页版入口在哪里
  • wordpress主题显示不出来福州seo推广服务
  • 做传媒网站公司简介自适应wordpress模板
  • 企业网站的建设做电影网站如何买版权
  • 网站改了模板被百度降权网站制作公透明清晰
  • 广州微信网站开发建设的网站都是怎么赚钱
  • 莱芜公交网站360免费wifi为什么连接不上
  • 网站的服务器在哪里个人服务器搭建违法
  • 重庆建设安全管理网站如皋网站开发
  • 北京定制网站开发广西百度seo
  • 自己做的网站加载慢网页代码生成器在线
  • 常德建设网站多少钱免费的网站模板有哪些
  • 服务于中小企业建网站有没有做外贸免费网站
  • 那个免费做微信订阅号的网站广州建网站定制
  • 北京建公司网站价格做网签合同的网站是
  • 做的好英文网站房地产市场现象
  • 宝安有效的网站制作北京 顺义 网站制作
  • 阿里云网站建设详细教程非认证公众号wordpress
  • 唯品会一家做特卖的网站 分析哪里有做外贸网站的