void far setpalette(int index, int color)
Прототип:
Описание:
Функция setpalette() изменяет цвета, выводимые видеосистемой. При первом знакомстве достаточно трудно разобраться с тем, что выполняет данная функция. По существу она ассоциирует значение параметра color с индексом в таблице, которую Borland С++ использует для отображения фактически показываемых цветов на экране. Значения кодов color показаны ниже.
Коды CGA (только фон):
Макрос | Величина |
---|---|
BLACK | 0 |
BLUE | 1 |
GREEN | 2 |
CYAN | 3 |
RED | 4 |
MAGENTA | 5 |
BROWN | 6 |
LIGHTGRAY | 7 |
DARKGRAY | 8 |
LIGHTBLUE | 9 |
LIGHTGREEN | 10 |
LIGHTCYAN | 11 |
LIGHTRED | 12 |
LIGHTMAGENTA | 13 |
YELLOW | 14 |
WHITE | 15 |
EGA и VGA:
Макрос | Величина |
---|---|
EGA_BLACK | 0 |
EGA_BLUE | 1 |
EGA_GREEN | 2 |
EGA_CYAN | 3 |
EGA_RED | 4 |
EGA_MAGENTA | 5 |
EGA_BROWN | 20 |
EGA_LIGHTGRAY | 7 |
EGA_DARKGRAY | 56 |
EGA_LIGHTBLUE | 57 |
EGA_LIGHTGREEN | 58 |
EGA_LIGHTCYAN | 59 |
EGA_LIGHTRED | 60 |
EGA_LIGHTMAGENTA | 61 |
EGA_YELLOW | 62 |
EGA_WHITE | 63 |
В режиме CGA может изменяться только фон. Индекс цвета фона всегда равен 0. Для режима CGA следующий код меняет цвет фона на зеленый:
setpalette (0, GREEN);
Режимы EGA выводят 16 цветов за раз. Можно использовать функцию setpalette() для установки соответствия цвету одного из 16 различных индексов.
Пример: