【问题标题】:How to draw solid text using sdl_ttf?如何使用 sdl_ttf 绘制纯文本?
【发布时间】:2012-05-30 13:53:29
【问题描述】:

这是一个例子:

SDL_Color textcol = {255, 255, 255};
SDL_Color backtextcol = {0, 0, 0};
SDL_Surface *mes = TTF_RenderText_Shaded(font, "The game has begun", textcol, backtextcol);
apply_surface(40, 40, mes, screen);
SDL_Flip(screen);

多亏了这个例子,我们绘制了一个带有白色字母的黑色矩形。是否可以在没有整个黑色矩形的情况下只绘制内部黑色的白色字母?

【问题讨论】:

    标签: sdl sdl-ttf


    【解决方案1】:

    是的,这是可能的。 SDL_TTF 中有 3 个主要的文本绘制函数:

    TTF_RenderText_Solid - 这个渲染基本文本(无背景),速度快,但质量低,看起来像素化。

    TTF_RenderText_Shaded - 这个可以画出漂亮的混合字符,但要使用预定义的背景颜色

    TTF_RenderText_Blended - 这个绘制了一个很好的混合文本,但是它使用了 alpha 混合并且速度很慢,但是给出了非常好的结果

    【讨论】:

    • 我在示例中使用了 _Shaded,但它绘制了一个带有白色消息的黑色大矩形。但我只想要没有矩形的消息。如果我使用_Solid,它会绘制内部透明的白色字母
    • 对不起,我不明白你想要达到什么目的。您能否发布一些图像或其他内容以使事情变得清晰?你到底想要什么?也许这些字母是透明的,因为您使用的字体应该是这样的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    • 2012-07-28
    相关资源
    最近更新 更多