В стандарте Паскаля графический вывод не предусмотрен. Од¬нако на
разных типах компьютеров, в разных реализациях Паска¬ля существуют
различные программные средства графического вывода — специальные
наборы данных, функций, процедур. Несмотря на такое разнообразие,
имеются общие понятия и средства, свойственные любому варианту
реализации графики в лю¬бом языке программирования. В данном
разделе лекций мы затро¬нем только такие базовые средства.
Начиная с четвертой версии Турбо Паскаля для IBM PC по¬явилась
мощная графическая библиотека, организованная в модуль Graph. В
приложении 2 в справочной форме дано описание эсновных компонент этого
модуля. В рассмотренных ниже примерах программ используется модуль
Graph. Для его подключения в начале программы необходимо написать
строку:
Uses Graph;
Графические режимы экрана. Для
вывода графических изображений необходимо перевести экран в один из
графических режимов. В графическом режиме можно из программы управлять
состоянием каждого пиксела (точечного элемента) экрана.
Графические режимы отличаются:
• размером графической сетки (Мх N, где М— число точек по
горизонтали, N — число точек по вертикали);
• цветностью (число воспроизводимых на экране цветов). Допустимые
режимы зависят от типа монитора и соответствую¬щего графического
драйвера, используемого на компьютере.
Для установки графического режима экрана существуют соответствующие
процедуры. В модуле Graph процедура установки гра¬фического режима
экрана имеет следующий заголовок:
Procedure InitGraph(Var Driver,Mode: Integer; Path: String);
Список констант модуля Graph,
определяющих типы драйве¬ров и режимы.
Цвет фона и цвет рисунка. На цветном мониторе можно менять окраску
экрана. Установленная окраска экрана называется цветом фона. Рисунок на
этом фоне наносится с помощью разнообразных линий: прямых, окружностей,
прямоугольников, ломаных и т.д. Цвета этих линий также могут меняться.
Заголовок процедуры установки цвета
фона:
Procedure SetBkColor(Color: Word);
Здесь Color — выражение целого типа, определяющее номер цвета
фона.
Заголовок процедуры установки цвета
линий:
Procedure SetColor (Color: Word);
Заметим, что если в качестве номера цвета линии указывается 0, то это
всегда совпадает с цветом фона (невидимая линия).
Если необходимо очистить графический экран (стереть рисунок), то для
этого используется процедура очистки экрана.
Заголовок процедуры очистки экрана:
Procedure ClearDevice;
В результате выполнения этой процедуры экран заполняется установленным
цветом фона.
Графические координаты. Положение каждого пикселя графической сетки
однозначно определяется указанием его координат.
Графическое окно. Область вывода изображения может быть ограничена
любым прямоугольником в пределах экрана. Такая область называется
графическим окном. Существует процедура, устанавливающая положение
графического окна на экране. Заголовок процедуры назначения
графического окна:
Procedure SetViewPort(XI,Yl,Х2,Y2: Integer; Clip: Boolean);
После установки окна координаты точек внутри него отсчитываются от
верхнего левого угла.
Существует понятие графического курсора (по аналогии с символьным
курсором). Но в отличие от символьного курсора графический курсор на
экране не виден. Графический курсор указывает па текущую позицию на
экране. При входе в графический режим координаты текущей позиции равны
(0, 0).
Процедура назначения координат графического курсора:
Procedure MoveTo (X,Y: Integer);
Графические примитивы. Хотя любое изображение можно построить из точек,
но программировать получение сложного рисунка или чертежа, используя
только процедуру поставить точку, было бы слишком неудобно и громоздко.
В любом графическом пакете существует процедуры рисования основных
геометрических фигур: прямых линий, окружностей, эллипсов,
прямоугольников. Такие фигуры называют графическими примитивами.