Язык программирования Паскаль 7.0 содержит обширный набор типов, констант и функций для управления графическим режимом работы экрана, объединенных в стандартный библиотечный модуль GRAPH. С помощью подпрограмм, входящих в данный модуль, можно создавать сложные графические изображения, основанные на использовании разнообразных геометрических фигур- При необходимости замкнутые фигуры могут быть закрашены различными цветами и стилями (образцами) закраски. Для вывода текстовых надписей на графический экран могут быть использованы четыре штриховых и один матричный шрифт.
Подпрограммы модуля GRAPHмогут поддерживать различные типы аппаратных графических средств. Настройка на конкретные технические средства осуществляется с помощью специальных программ — драйверов, поставляемых вместе с данным модулем.
Установка графического режима работы
Переход в графический режим в среде Паскаль осуществляется с помощью входящей в модуль GRAPHпроцедуры InitGraph, служащей для инициализации графического экрана. Данная процедура имеет следующий формат:
InitGraph(varDriver, Mode:integer; Path:string),
где переменные Driverи Modeдолжны содержать тип графического драйвера и его режим работы. Допускается указать Driver=0 для автоматического определения данных параметров по результатам тестирования аппаратуры. Параметр Pathопределяет маршрут поиска файла графического адаптера.
Графические операторы языка Паскаль позволяют адресоваться к любому элементу (пикселю) графического окна и управлять светимостью этого элемента. Для указания пикселя используется следующая система координат: начало координат (0,0) располагается в левом верхнем углу экрана; горизонтальная координата Xувеличивается слева направо, вертикальная координата Yувеличивается сверху вниз. При стандартном графическом адаптере VGA(в режиме 640x480) правый нижний угол экрана имеет координаты (639,479), а центр экрана - координаты (319,239).
Для выхода из графического режима достаточно воспользоваться процедурой CloseGraph. Использование цветов
Язык программирования Паскаль 7.0 поддерживает 16 основных цветов, обозначаемых соответственно номерами от 0 до 15 (см. таблицу 1).
Таблица 1 Константы цвета
| Константа цвета | Цвет | Константа цвета | Цвет |
| 0(Black) | Черный | 8 (DarkGray) | Гемносерый |
| 1 (Blue) | Синий | 9 (LightBlue) | Яркосиний |
| 2 (Green) | Зеленый | lO(LightGreen) | Яркозеленый |
| 3 (Cyan) | Голубой | 11 (LightCyan) | Яркоголубой |
| 4 (Red) | Красный | 12 (LightRed) | Розовый |
| 5 (Magenta) | Фиолетовый | 13 (LightMagenta) | Малиновый |
| 6 (Brown) | Коричневый | 14 (Yellow) | Желтый |
| 7 (LightGray) | Светлосерый | 15 (White) | Белый |
Основными графическими операторами по работе с цветами являются процедуры модуля GRAPHпод именами SetBkColor(служит для установки цвета фона) и SetColor(для установки цвета рисования).
Формат данных операторов следующий". SetBkColor (Color: word);
SetColor (Color: word),
где переменная Color, имеющая целочисленный тип word, служит для указания требуемого номера цвета.
Например, операторы SetBkColor (I); SetColor(14) позволяют установить режим рисования желтым цветом по синему фону.
Создание графических объектов
В состав модуля GRAPHвходит достаточно большое количество подпрограмм, служащих для вывода на экран разнообразных графических объектов. Основными процедурами данного типа являются:
Rectangle(xl, yl, х2, y2: integer) - служит для рисования прямоугольников, задаваемых координатами двух своих противоположных углов;
Bar(xl, yl, x2, y2: integer) - служит для рисования заштрихованных прямоугольников, используя при этом текущий стиль и цвет штриховки;
SetFillStyle(Pattern, Color: word) - устанавливает образец штриховки и ее цвет, где переменная Patternобозначает номер шаблона штриховки (см. таблицу 2), aColor- номер цвета штриховки (см. таблицу 1);
Circle(x, у: integer; r: word) - рисует окружность радиуса г с центром в точке (х, у); Line(xl, yl, x2, y2: integer) - рисует линию от точки (xl, yl) до точки (х2, у2);
PieSHce(x, у: integer; StAngle, EndAngle, nword) - рисует и заштриховывает сектор окружности радиусом г с центром в (х, у) от начального угла StAngleк конечному углу EndAngle. При этом используется текущий стиль и цвет штриховки (см. процедуру SetFillStyle);
PutPixel(x, у: integer; Color:word) - выводит на экран точку цвета Colorс координатами (х, у);
OutTextXY(x, y:integer; TextString:string) — выводит техт TextStringв заданное координатами (х, у) место экрана.
Таблица 2 Шаблоны штриховки
| Номер | Стиль штриховки | Номер | Стиль штриховки |
| 0 | Нет штриховки | 6 | Наклонная влево |
| 1 | Сплошная (заливка) | 7 | В клетку по образцу +++ |
| 2 | Горизонтальными линиями | 8 | В клетку по образцу ххх |