私はWin32 C++コンソールで色を行う方法を少し知っています。しかし、それは本当に効率的ではありません。例:C++ Win32コンソールの色
SYSTEM("color 01")
処理が大幅に減速します。また:
HANDLE h = GetStdHandle (STD_OUTPUT_HANDLE);
WORD wOldColorAttrs;
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
/*
* First save the current color information
*/
GetConsoleScreenBufferInfo(h, &csbiInfo);
wOldColorAttrs = csbiInfo.wAttributes;
/*
* Set the new color information
*/
SetConsoleTextAttribute (h, FOREGROUND_RED);
素晴らしいですが、色はあまりありません。また、FOREGROUND_RED
は暗赤色です。
CLRプロパティConsole::ForegroundColor
のような方法がないので、ConsoleColor列挙型の任意の色を使用できますか?
あなたが設定したことがあります'FOREGROUND_INTENITY'フラグを使って明るい赤色にしますか?例: 'SetConsoleTextAttribute(h、FOREGROUND_RED | FOREGROUND_INTENITY)' –
これはうまくいきますが、多分パレットを使って色を増やす方法があるのだろうか? –
コンソールは、FOREGROUND_RED、FOREGROUND_BLUE、FOREGROUND_GREENおよびFOREGROUND_INTENSITYを組み合わせて作成される16色のみをサポートしています。 – riv