首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TTF_OpenFont()返回NULL

TTF_OpenFont()返回NULL
EN

Stack Overflow用户
提问于 2012-12-27 00:41:16
回答 3查看 7.9K关注 0票数 6

事实是:我在Ubuntu上使用代码块。我已经安装了SDL和SDL_ttf,并成功地包含和链接了它们。我想将文本呈现到字体FreeSerif的屏幕上。

问题是:当程序到达行TTF_OpenFont("FreeSerif.ttf,20")时,它返回NULL,如果传递给TTF_RenderText_Solid函数,则会导致段错误。我已经将字体文件添加到项目中,但它仍然不起作用。

代码如下:

TTF_Init();

代码语言:javascript
复制
TTF_Font *font = TTF_OpenFont("FreeSerif.ttf",20); //This returns NULL 

if(!font){printf("Unable to open font");exit(1);} //The program exits here
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-07 17:52:51

我也遇到过同样的问题,似乎是路径错误,TTF_GetError()抛出了这个:

无法打开Arial.ttf

你应该将字体设置为绝对路径,而不是相对路径。对我来说,这是

/库/字体/Arial.ttf

而不是:

Arial.ttf

票数 10
EN

Stack Overflow用户

发布于 2013-05-10 16:20:52

您必须指定完整路径名。或者,您必须确保该文件位于程序的当前目录中(与可执行文件的目录不同)。

因此,请使用以下代码:

代码语言:javascript
复制
TTF_Font *font = TTF_OpenFont("/path/to/FreeSerif.ttf",20);
票数 4
EN

Stack Overflow用户

发布于 2013-05-08 21:30:30

代码语言:javascript
复制
// load font.ttf at size 20 into font

TTF_Font *font;

font=TTF_OpenFont("font.ttf", 20);

if(!font) {
    printf("TTF_OpenFont: %s\n", TTF_GetError());
   // handle error
}

找不到font.ttf路径,返回空值

if(!font) not check null value and TTF_GetError()它返回最后一个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14043437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档