int w,h;
SDL_Rect pos;
menu->pfont = TTF_OpenFont("./Resources/arial.ttf", 24);//装载字体的函数,返回一个TTF_Font指针
SDL_Color color = {200,200,200,255};//文本颜色
//print_string_block
sprintf(szMsg,"SH LRF 35");//合成字符串
SDL_Surface* tmstamp = TTF_RenderText_Solid(menu->pfont,szMsg,color);//设置字体的渲染方式,返回一个surface表面,SDL用其来渲染ASCII字符,其余的还有TTF_RenderUTF8_Solid用来渲染UTF8编码和TTF_RenderUNICODE_Solid用来渲染UCS2编码的字符串
SDL_Texture* texture = SDL_CreateTextureFromSurface(menu->prenderer, tmstamp);//从现有的表面创建一个上下文。
SDL_QueryTexture(texture, NULL, NULL, &w, &h);//查询上下文
pos.w = w;
pos.h = h;
pos.x = 45;
pos.y = 203;
SDL_RenderCopy(menu->prenderer, texture, NULL, &pos);
SDL_FreeSurface(tmstamp);
SDL_DestroyTexture(texture);
TTF_CloseFont(menu->pfont);//放最后
//print_icon_block
Texture_loaging(136,295,menu->pLanguage_Texture[0] ,menu->prenderer);
SDL中调用API输出文字的程序Block
最新推荐文章于 2025-05-11 11:03:11 发布
这段代码展示了如何在SDL框架下加载字体、设置文本颜色、合成字符串并渲染到屏幕上。首先,它打开并设置了字体样式,然后创建了一个颜色变量。接着,通过`TTF_RenderText_Solid`函数将字符串渲染为表面,再将其转换为纹理,并获取其尺寸。最后,将纹理复制到渲染目标上,并释放相关资源。
1万+

被折叠的 条评论
为什么被折叠?



