更改颜色TTF文本SDL C.

时间:2017-04-21 17:41:53

标签: c sdl

我一直试图改变TTF文字的颜色,但我无法弄清楚如何去做。我有:

SDL_Color color_text = { 0, 0, 0 }; //Text color

SDL_Surface * surface = TTF_RenderText_Solid(font, "text text text text text ", color_text);

但看起来无法以任何方式改变颜色。如果可能的话,我可以用另一种方式存储颜色。

1 个答案:

答案 0 :(得分:0)

要更改相关文字的任何属性,您需要重新呈现文字。

假设您从一个黑色文本开始,您将拥有:

SDL_Color color_text = { 0, 0, 0 }; // Text color
SDL_Surface* surface = TTF_RenderText_Solid(font, "TEXT", color_text)

这会使"TEXT"变黑,因为{ 0, 0, 0 }是黑色的RGB代码。

如果要将其设为红色,则可以操作值,例如:

color_text.r = 255;
SDL_Surface* surface = TTF_RenderText_Solid(font, "TEXT", color_text)

这会使"TEXT"变为红色,因为r的{​​{1}}成员设置为color_text,使255的成员color_text,红色的RGB代码。