Цвет текста в консоли | c++
void ForegroundColor(COLORREF color)
{
CONSOLE_SCREEN_BUFFER_INFOEX sbInfoEx;
sbInfoEx.cbSize = sizeof(CONSOLE_SCREEN_BUFFER_INFOEX);
HANDLE consoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfoEx(consoleOut, &sbInfoEx);
COLORREF storedBG = sbInfoEx.ColorTable[0];
//-- set BG color
sbInfoEx.ColorTable[0] = color;
SetConsoleScreenBufferInfoEx(consoleOut, &sbInfoEx);
}
У меня есть код, который устанавливает цвет фона в консоли..
Но я без понятия, как сделать так, чтобы он устанавливал сам цвет текста через RGB
(SetConsoleTextAttribute не предлагать)
Помогите, пожалуйста.
Ответы (1 шт):
Автор решения: Overloads
→ Ссылка
void ForegroundColor(int color1, int color2, int color3) {
CONSOLE_SCREEN_BUFFER_INFOEX info;
info.cbSize = sizeof(CONSOLE_SCREEN_BUFFER_INFOEX);
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfoEx(hConsole, &info);
info.ColorTable[0] = RGB(0, 0, 0);
info.ColorTable[3] = RGB(color1, color2, color3);
info.ColorTable[15] = RGB(0, 0, 0);
SetConsoleScreenBufferInfoEx(hConsole, &info);
SetConsoleTextAttribute(hConsole, 3);
}
Выше указанный код, вызываем в main ForegroundColor(int color1, int color2, int color3) , вместо color1, color2, color3 указываем номер RGB, на пример ForegroundColor(138, 226, 52); На этом всё, спасибо.