在c ++ Console中使用Brown

时间:2014-01-07 17:22:19

标签: c++ windows console windows-xp

我正在使用Windows XP控制台创建基于ASCII的c ++游戏。我正在使用SetConsoleTextAttribute为游戏着色文本和背景。我能够获得我想要的大部分颜色,但是我不能正确使用的一种颜色是棕色。我能找到的唯一建议是使用6作为前景的值(SetConsoleTextAttribute(hConsole,(6)))是我一直在使用的。然而,这就像Tan Brown一样,更像是一种肮脏的黄色。有没有办法使用此功能获得真正的褐色?如果没有,我还有什么其他选项可以在Console Ascii中获得褐色?就像我说的,我发现许多页面都说使用6或FOREGROUND_RED | FOREGROUDN_GREEN,但那不是真的棕色。提前谢谢!

1 个答案:

答案 0 :(得分:0)

这是终端设置的错误。它决定每个ANSI值的含义。除非你有一个256色的终端,否则从基本的控制台程序中你无能为力。

可能有一种方法可以使用各种Windows API(注册表设置?ui自动化或其他东西?)来更改终端的设置,但这是另外一种鱼,我会推荐给Windows程序员。

出于您自己的目的,您可以进入终端设置并将呕吐黄色更改为您想要的棕色。