中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

新疆建設(shè)兵團(tuán)125團(tuán)網(wǎng)站什么是網(wǎng)站

新疆建設(shè)兵團(tuán)125團(tuán)網(wǎng)站,什么是網(wǎng)站,青海政府網(wǎng)站建設(shè),wordpress取消郵件驗(yàn)證碼1.簡(jiǎn)介 SDL本身沒有顯示文字功能,它需要用擴(kuò)展庫(kù)SDL_ttf來顯示文字。ttf是True Type Font的縮寫,ttf是Windows下的缺省字體,它有美觀,放大縮小不變形的優(yōu)點(diǎn),因此廣泛應(yīng)用很多場(chǎng)合。 使用ttf庫(kù)的第一件事要從Windows的…

1.簡(jiǎn)介

SDL本身沒有顯示文字功能,它需要用擴(kuò)展庫(kù)SDL_ttf來顯示文字。ttf是True Type Font的縮寫,ttf是Windows下的缺省字體,它有美觀,放大縮小不變形的優(yōu)點(diǎn),因此廣泛應(yīng)用很多場(chǎng)合。

使用ttf庫(kù)的第一件事要從Windows的字庫(kù)下拷貝出一個(gè)字庫(kù)出來,最好是中文字體,這樣可以同時(shí)支持英文和中文顯示。它一般在c:windowsfonts 目錄下面。比如simhei.ttf 就是仿黑體的字庫(kù),將這個(gè)文件拷貝到你的源文件目錄下。

要使用SDL_ttf庫(kù)首先要下載該擴(kuò)展庫(kù):為了方便,我使用的開發(fā)環(huán)境是Windows。?

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

我使用的是2.20.0的版本,下載我框出來的那個(gè)zip包。

2.配置環(huán)境

先拷貝SDL_ttf的頭文件和庫(kù)文件到目的目錄下,如下圖所示:

?

VS的配置請(qǐng)看SDL2 簡(jiǎn)單介紹以及Windows開發(fā)環(huán)境搭建-CSDN博客

目錄4.配置,跟配置SDL庫(kù)一樣的配置。

3.使用步驟

SDL_ttf的編程的核心數(shù)據(jù)結(jié)構(gòu)是 TTF_Font,所有的文字輸出都是圍繞這個(gè)結(jié)構(gòu)展開的。

  • 初始TTF庫(kù)
  • 創(chuàng)建一個(gè)對(duì)應(yīng)某個(gè)字體文件的TTF_Font.
  • 用TTF輸出函數(shù)把一段文字輸出成SDL_Surface.其中TTF_font是其中必須參數(shù)
  • 把這個(gè)SDL_Surface 輸出到屏幕顯示,如果不需它,必須釋放它
  • 釋放TTF_Font
  • 關(guān)閉TTF庫(kù)

4.接口說明

要想顯示文字,首先要將文字渲染成一副圖像,將文字渲染成一個(gè)圖像表面,有三種渲染方式:

  • TTF_RenderText_Solid渲染的最快,但效果最差,文字不平滑,是單色文字,不帶邊框。
  • TTF_RenderText_Shaded比TTF_RenderText_Solid渲染的慢,但顯示效果好于Solid,帶陰影。
  • TTF_RenderUTF8_Blended渲染最慢,但顯示效果最好。

SDL_ttf有好幾個(gè)關(guān)于文字高度和寬度的方法:

  • int TTF_SizeText(TTF_Font *font, const char *text, int *w, int *h) ;求英文/數(shù)字文本高度和寬度,返回值為0表示測(cè)試成功
  • 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 參數(shù)可以設(shè)為如下幾種效果:

  • TTF_STYLE_BOLD #粗體
  • TTF_STYLE_ITALIC #斜體
  • TTF_STYLE_UNDERLINE #下劃線
  • TTF_STYLE_STRIKETHROUGH #刪除線(即中劃線)

如果Style設(shè)為 TTF_STYLE_NORMAL, 效果將變成缺省效果。

顯示中文代碼:直接采用數(shù)字編碼。

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();/*創(chuàng)建窗口*/SDL_Window *window = SDL_CreateWindow("SDL SHOW TEXT", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WINDOW_W, WINDOW_H, SDL_WINDOW_SHOWN);/*創(chuàng)建渲染器*/SDL_Renderer *render = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);/*設(shè)置渲染器顏色*/SDL_SetRenderDrawColor(render, 255, 255, 255, 255);/*清空渲染器*/SDL_RenderClear(render);/*打開字庫(kù)*/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 };/*設(shè)置字體大小*/TTF_SetFontSize(ttffont, 60);/*字體加粗*/TTF_SetFontStyle(ttffont, TTF_STYLE_NORMAL);/*創(chuàng)建字體顯示表面*/SDL_Surface *text1_surface = TTF_RenderUTF8_Blended(ttffont, "Hello,SDL!", color);/*創(chuàng)建紋理*/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;/*顯示的高度*//*創(chuàng)建字體顯示表面*///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);/*創(chuàng)建紋理*/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.risenshineclean.com/news/4226.html

相關(guān)文章:

  • 網(wǎng)站如何做原創(chuàng)文章什么是關(guān)鍵詞舉例說明
  • 煙臺(tái)開發(fā)區(qū)網(wǎng)站制作公司快速優(yōu)化網(wǎng)站排名的方法
  • 東莞網(wǎng)站seo推廣優(yōu)化金蝶進(jìn)銷存免費(fèi)版
  • 郴州網(wǎng)站建設(shè)公司官網(wǎng)steam交易鏈接怎么改
  • 做網(wǎng)站首頁(yè)有什么網(wǎng)絡(luò)推廣網(wǎng)站的方法
  • 網(wǎng)站的發(fā)布與推廣怎么寫seo優(yōu)化包括
  • 營(yíng)業(yè)執(zhí)照申請(qǐng)網(wǎng)站互聯(lián)網(wǎng)營(yíng)銷的特點(diǎn)
  • 創(chuàng)意簡(jiǎn)約啤酒徽章logo設(shè)計(jì)頁(yè)面優(yōu)化的方法有哪些
  • 市場(chǎng)推廣seo職位描述百度seo怎么收費(fèi)
  • 網(wǎng)站建設(shè)需具備的條件南寧網(wǎng)站公司
  • 福州網(wǎng)站建設(shè)網(wǎng)絡(luò)公司排名seo網(wǎng)站推廣如何做
  • 做游戲網(wǎng)站在哪里找千博企業(yè)網(wǎng)站管理系統(tǒng)
  • 網(wǎng)站開發(fā)用什么數(shù)據(jù)庫(kù)一鍵優(yōu)化軟件
  • 網(wǎng)站開發(fā)png圖標(biāo)素材seo技術(shù)推廣
  • 游戲網(wǎng)站開發(fā)實(shí)驗(yàn)報(bào)告店鋪數(shù)據(jù)分析主要分析什么
  • wordpress付費(fèi)主題破解版百度搜索優(yōu)化
  • 早晨網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)培訓(xùn)
  • 響應(yīng)式網(wǎng)站建設(shè)看什么書百度關(guān)鍵詞優(yōu)化手段
  • 南昌做網(wǎng)站優(yōu)化官網(wǎng)排名優(yōu)化
  • 長(zhǎng)沙網(wǎng)站建設(shè) 鼎譽(yù)百度瀏覽器官方下載
  • 做網(wǎng)站圖片像素seo外鏈專員
  • 福州seo服務(wù)泰州seo外包
  • 裝修網(wǎng)站怎么建設(shè)如何在其他平臺(tái)做推廣
  • 寧夏住房和建設(shè)廳網(wǎng)站我的百度賬號(hào)
  • 萬能小偷程序做網(wǎng)站排名前十的小說
  • 能不能自己做視頻網(wǎng)站如何制作網(wǎng)站和網(wǎng)頁(yè)
  • 商業(yè)網(wǎng)站開發(fā)入門選課百度的廣告
  • 望野小說seo包括什么
  • 品牌網(wǎng)站源碼最新網(wǎng)站查詢工具
  • 上海建設(shè)工程信息服務(wù)平臺(tái)湘潭seo快速排名