2016-01-06 3 views
-2

Я нашел в GDI32.DLL, что есть некоторые методы, которые меняют colors в консоли.CMD Использует GDI32.DLL для визуализации цветов. как изменить цветной поддон?

Методы

GDI32.SetBkColor

GDI32.SetTextColor

И есть гораздо больше способов, чтобы добавить color-pallets.

Есть способ изменить color-pallet, чтобы использовать несколько цветов и произвести 256-RGBconsole.

Я знаю, что есть console's, которые уже имеют 256 Color VGAcolor-pallet, но я действительно хочу изменить способ работы системы.

dll-fileGDI32.DLL is prety old и является файлом системного ядра, который не имеет большого количества информации в Интернете о том, как cmd использовать его.

Спасибо :)

+0

Вы орехи? Объем документации по «SetBkColor» и «SetTextColor» безумный. И они ничего не делают с консолью. –

+0

консоль фактически использует 'SetBkColor' и' SetTextColor' без них, вы не можете покрасить консоль. – CodeAway

+1

@CodeAway Нечеткий, я думал, что для вывода консоли вы использовали такие вещи, как https://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v=vs.85).aspx –

ответ

0

Для изменения цвета в консоли вы можете использовать:

system("color 6B"); // 0x00 to 0xFF 

Чтобы изменить количество цветов, палитры или разрешения, вам, вероятно, нужно посмотреть на то, что используется для можно назвать «установленным графическим режимом», не знаю, поддерживается ли это сейчас, хотя ..

+0

Это позволяет вам выбирать из 16 цветов как для фона, так и для текста, и они не являются самыми красивыми 16 цветами. Все это должно быть обратно совместимо с самыми ранними цветными дисплеями ПК, которые были очень примитивными. –

+0

@MarkRansom - Правильно, дважды. Но я помню, что играл вокруг (давно) с графическими режимами, цветами и пикселями, но, вероятно, это больше не поддерживается. –

0

Правильный способ изменения атрибутов текста консоли: SetConsoleTextAttribute; вы должны иметь возможность изменять цвет переднего плана/фона.

Кроме того, он не находится в GDI32, насколько я знаю, функции консоли все находятся в kernel32.dll (если не все, по крайней мере, большинство из них). Это должно уточнить использование GDI32.