如何使用SDL2_TTF渲染高质量的单色文本?

时间:2017-07-04 00:39:37

标签: c++ sdl-2 sdl-ttf

我正在用旧式低分辨率图形编写游戏。我使用SDL2_TTF渲染单色文本,但似乎没有正确显示。我使用TTF_SetFontHinting(font, TTF_HINTING_MONO)设置了提示,并使用所有三种渲染函数(TTF_RenderText_SolidTTF_RenderText_ShadedTTF_RenderText_Blended)渲染了文本,但我对结果不满意。这是我从TTF_RenderText_Solid获得的输出。其他函数输出抗锯齿文本。

Actual output

这是我想要的输出。这是由Mac终端模拟器渲染的Andale Mono 12pt(与上面相同)并按比例放大了4倍。

Expected output

输出的质量很重要,因为当向播放器显示时,文本会按比例放大4倍。他们为什么不同?我认为FreeType是事实上的字体渲染库,所以SDL2_TTF和终端都会使用它。

我是否只是错误地使用SDL2_TTF库?

1 个答案:

答案 0 :(得分:1)

我不想弄乱SDL2_TTF库以达到我想要的效果,所以我决定找一个看起来更好的不同字体。我发现如果我选择一个font that looks pixelated并在正确的点大小渲染它,一切看起来都很好。

The effect I was looking for