Формирование изображения на экране монитора происходит с помощью дисплейного адаптера (видеокарты). В зависимости от него дисплей может работать в разных текстовых и графических режимах.
Текстовый режим поддерживают все типы адаптеров. В этом режиме каждый символ кодируется одним байтом и занимает от 16х16 до 8х8 точек или пикселов, чем существенно экономится память. В зависимости от типа адаптера и включенного режима количество строк на экране и символов в строке может быть разным: от 40х25 до 120х50, но стандартным является размер экрана в 25 строк по 80 символов.
Черно-белый текстовый режим является частным случаем цветного. Для последнего совместно с кодом самого символа задается байт атрибута цвета. Каждый символ имеет цвет начертания, или цвет переднего плана и цвет фона. Кроме этого символ может мерцать. Эта информация кодируется в байте атрибута символа:
Биты | ||
Бит мерцания | ||
Красный | ||
Цвет фона | Зеленый | |
Голубой | ||
Яркость | ||
Цвет символа | Красный | |
Зеленый | ||
Голубой |
Таким образом, цвет фона может задаваться восьмью темными тонами, а цвет символа 16-ю, и каждому из них соответствует константа со стандартным именем.
|
|
Темные цвета:
0 (Black) — черный;
1 (Blue) — синий;
2 (Green) — зеленый;
3 (Cyan) — голубой;
4 (Red) — красный;
5 (Magenta) — фиолетовый;
6 (Brown) — коричневый;
7 (LightGrau) — светло-серый.
Светлые цвета:
8 (DarkGray) — темно-серый;
9 (LightBlue) — светло-синий;
10 (LightGreen) — светло-зеленый;
11 (LightCyan) — светло-голубой;
12 (LightRed) — светло-красный;
13 (LightMagenta) — светло-фиолетовый;
14 (Yellow) — желтый;
15 (White) — белый.
Начальная координата экрана находится в левом верхнем углу, а увеличение идет по осям Х и Y аналогично записи на бумаге по позициям и строкам. То есть экран в стандартном текстовом режиме выглядит в соответствии с рис 9.1.
Начальная позиция | 1,1 | 80,1 | Х | |
Y | 1,25 | 80,25 | Конечная позиция |
Рис. 9.1. Координаты знакомест в стандартном текстовом режиме монитора
То есть увеличение Х соответствует перебору символов в одной строке слева направо, а увеличение Y — перебору строк сверху вниз.