【问题标题】:C++ SFML Font ProblemsC++ SFML 字体问题
【发布时间】:2015-09-17 22:14:28
【问题描述】:
sf::RenderWindow window(sf::VideoMode(800, 600), "CALENDAR");

sf::Font font;
if (!font.loadFromFile("arial.ttf"))
    std::cout << "no\n";

sf::Text text1;
text1.setFont(font);
text1.setCharacterSize(30);
text1.setColor(sf::Color::Black);
text1.setStyle(sf::Text::Regular);
text1.setString("ttestst");

while (window.isOpen())
{
    sf::Event event;
    while (window.pollEvent(event))
    {
        switch (event.type){
        case sf::Event::Closed:
            window.close();
        }
    }

    window.clear(sf::Color::White);
    window.draw(text1);
    window.display();
}

此代码没有在屏幕上显示文本,也没有加载字体,我不知道该怎么做,感谢任何帮助。

【问题讨论】:

  • 会不会是你使用的字体路径不对?尝试使用绝对路径 - 从 Windows 上的 C:/ 或 osx/linux 上的 /
  • 不走运,“C:\Coding\Fonts\Arial.ttf”什么也没做 :(
  • 字体文件加载成功了吗?
  • 你在使用任何 IDE 吗?即在 Code::Blocks 中,当您从 IDE 执行字体文件时,您必须将字体文件放在根项目目录中,而不是放在它所在的 bin 中。

标签: c++ text fonts sfml


【解决方案1】:

字体的路径似乎是错误的。如果您使用的是"arial.ttf",请确保字体文件位于您的程序开始执行的同一目录中。

正如@twsaef 所说,您也可以使用绝对路径,但不能这样:

"C:\Coding\Fonts\Arial.ttf"

这是错误的。而不是单个反斜杠\,您必须使用双反斜杠\\:

"C:\\Coding\\Fonts\\Arial.ttf"

【讨论】:

    猜你喜欢
    • 2016-08-10
    • 2021-01-04
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 2018-08-26
    • 2011-04-08
    相关资源
    最近更新 更多