Я пытаюсь установить цвет шрифта консольного приложения win32 на определенное значение RGB, например 50, 75, 90. Я уже пробовал SetConsoleTextAttribute()
, но, к сожалению, он ограничен 0 или 255 для R, G или B.
Это должно быть возможно, потому что в окне свойств командной строки вы можете установить конкретный цвет, например
Ответ 3
Есть способ сделать так, чтобы текст был полностью RGB, но для него требуется "SetPixel
", если вы сделаете реплику текста, затем вы можете изменить значения RGB, вот что я сделал для A, это это сложно сделать, но я делаю файл .h, чтобы каждый мог его использовать, вот вы:
void PrintA(int R, int G, int B)
{
HWND myconsole = GetConsoleWindow();
HDC mydc = GetDC(myconsole);
SetPixel(mydc, i + 0, i2 + 3, RGB(R, G, B));
SetPixel(mydc, i + 0, i2 + 4, RGB(R, G, B));
SetPixel(mydc, i + 0, i2 + 5, RGB(R, G, B));
SetPixel(mydc, i + 0, i2 + 6, RGB(R, G, B));
SetPixel(mydc, i + 0, i2 + 7, RGB(R, G, B));
SetPixel(mydc, i + 0, i2 + 8, RGB(R, G, B));
SetPixel(mydc, i + 0, i2 + 9, RGB(R, G, B));
SetPixel(mydc, i + 1, i2 + 2, RGB(R, G, B));
SetPixel(mydc, i + 1, i2 + 3, RGB(R, G, B));
SetPixel(mydc, i + 1, i2 + 4, RGB(R, G, B));
SetPixel(mydc, i + 1, i2 + 5, RGB(R, G, B));
SetPixel(mydc, i + 1, i2 + 6, RGB(R, G, B));
SetPixel(mydc, i + 1, i2 + 7, RGB(R, G, B));
SetPixel(mydc, i + 1, i2 + 8, RGB(R, G, B));
SetPixel(mydc, i + 1, i2 + 9, RGB(R, G, B));
SetPixel(mydc, i + 2, i2 + 1, RGB(R, G, B));
SetPixel(mydc, i + 2, i2 + 2, RGB(R, G, B));
SetPixel(mydc, i + 2, i2 + 6, RGB(R, G, B));
SetPixel(mydc, i + 3, i2 + 1, RGB(R, G, B));
SetPixel(mydc, i + 3, i2 + 2, RGB(R, G, B));
SetPixel(mydc, i + 3, i2 + 6, RGB(R, G, B));
SetPixel(mydc, i + 4, i2 + 2, RGB(R, G, B));
SetPixel(mydc, i + 4, i2 + 3, RGB(R, G, B));
SetPixel(mydc, i + 4, i2 + 4, RGB(R, G, B));
SetPixel(mydc, i + 4, i2 + 5, RGB(R, G, B));
SetPixel(mydc, i + 4, i2 + 6, RGB(R, G, B));
SetPixel(mydc, i + 4, i2 + 7, RGB(R, G, B));
SetPixel(mydc, i + 4, i2 + 8, RGB(R, G, B));
SetPixel(mydc, i + 4, i2 + 9, RGB(R, G, B));
SetPixel(mydc, i + 5, i2 + 3, RGB(R, G, B));
SetPixel(mydc, i + 5, i2 + 4, RGB(R, G, B));
SetPixel(mydc, i + 5, i2 + 5, RGB(R, G, B));
SetPixel(mydc, i + 5, i2 + 6, RGB(R, G, B));
SetPixel(mydc, i + 5, i2 + 7, RGB(R, G, B));
SetPixel(mydc, i + 5, i2 + 8, RGB(R, G, B));
SetPixel(mydc, i + 5, i2 + 9, RGB(R, G, B));
i += 8;
if (i / 80 == 8)
{
i = 0;
i2 += 12;
}
}