2017-04-21 168 views
0

我一直在试图改变TTF文本的颜色,但我无法弄清楚如何做它。我有:更改颜色TTF文字SDLÇ

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

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

,但它看起来像一个罐头不会以任何方式改变颜色。如果可能的话,我可以用另一种方式存储颜色。

回答

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"红色,因为color_textr成员设置为255,使得color_text的成员{ 255, 0, 0 },红色的RGB代码。