Графика в Turbo Pascal ГБОУ СПО «КСТ», г. Калуга преподаватель Шамрина Ольга Николаевна
Аппаратная поддержка графики персонального компьютера обеспечивается двумя основными модулями: видеоадаптером и видеомонитором. Видеомонитор – это устройство, на котором появляется выводимый текст или графические изображения. Видеоадаптеры – это электронные устройства, управляемые собственным микропроцессором.
Для управления экраном в графическом режиме с помощью программ в Turbo Pascal существуют специальные графические процедуры и функции. Описание этих процедур и функций содержится в специальном библиотечном модуле CRAPH.
Запуск графической системы. Для запуска графической системы необходимо сделать следующее: Подключить модуль CRAPH – библиотеку графических процедур: uses graph; Установить графический режим с помощью трех переменных: var GraphDriver, GraphMode, ErrorCode: integer; Procedure MyGraphInit; begin GraphDriver:=Detect; InitGraph(GraphDriver, GraphMode,c:\BP\BGI); ErrorCode:= GraphResult; End; С этого момента все графические средства доступны пользователю.
В графическом режиме экран представляет собой совокупность точек, каждая из которых может быть окрашена в один из 16 цветов.
При работе с экраном в графическом режиме очень важным является то, что любая информация представляет собой совокупность пикселей. Каждый пиксель определяется своими координатами, т.е. положением относительно левого верхнего угла экрана. С помощью программ можно управлять светимостью и цветом любого пикселя, т.е. создавать любое изображение.
Координаты точек возрастают с лева на право и сверху вниз; левая верхняя точка имеет координаты (0,0), а правая нижняя – (639, 479). (0,0) X Y
Процедуры. Arc (X,Y:Integer; U1, U2, R:Word) Строит дугу окружности текущим цветом с текущими параметрами линии. X, Y – координаты центра дуги; U1 – угол до начальной точки дуги, отсчитываемый против часовой стрелки от горизонтальной оси, направленной с лева на право; U2 – угол до конечной точки дуги, отсчитываемый так же, как U1; R – радиус дуги.
Circle (X, Y: Integer; R: word) Рисует текущим цветом окружность радиуса R с центром в точке (X, Y). ClearDevice Очищает графический экран, закрашивает его в цвет фона
Ellipse (X, Y: Integer; U1, U2, XR, YR: Word) Рисует дугу эллипса текущим цветом. X, Y – координаты центра эллипса; U1, U2 – углы до начальной и конечной точек дуги эллипса (см. процедуру Arc); XR, XY – горизонтальная и вертикальная полуоси эллипса.
Line (X1, Y1, X2, Y2:Integer) Рисует линию от точки X1, Y1, до точки X2, Y2. LineTo (X,Y:Integer) Рисует линию от текущего указателя к точке X, Y.
Rectangle (X1, Y1, X2, Y2) Рисует контур прямоугольника, используя текущий цвет и тип линий. X1, Y1 – координаты левого верхнего угла прямоугольника; X2, Y2 - координаты левого правого нижнего угла прямоугольника.
SetBkColor (Color: Word) Устанавливает цвет фона. SetColor (Color: Word) Устанавливает основной цвет рисования. SetFillStyle (Pattern, Color: Word) Устанавливает образец штриховки и цвета.
Функции. GetMaxX и GetMaxY Возвращает значения максимальных координат экрана в текущем режиме работы соответственно по горизонталь и вертикали. GraphResult Возвращает значение GrOk, соответствующее коду 0, если все графические операции программы выполнились без ошибок, или возвращает числовой код ошибки (от -1 до - 14).
Закрытие видеорежима. Когда все запланированные графические работы выполнены, необходимо выйти из графического режима. Это делается с помощью не имеющей параметров процедуры ClozeGraph. В процессе выполнения эта процедура освобождает память, распределенную под драйверы графики, файлы шрифтов и промежуточные данные, и восстанавливает режим работы адаптера в то состояние, в котором он находился до выполнения инициализации системы.