Управление экраном в графическом режиме

Страницы работы

7 страниц (Word-файл)

Содержание работы

Управление экраном в графическом режиме

В ЭВМ принят растровый способ формирования изображения, т.е. любая информация на экране монитора представляется совокупностью светящихся точек – пикселей. Каждый пиксель определяется своими координатами – положением относительно левого верхнего угла экрана, который имеет координаты (0, 0). Программист может управлять светимостью и/или цветом любого пикселя, что позволяет формировать на экране любое изображение (графики, рисунки, символы).

          Описываемые ниже процедуры и функции включены в стандартный модуль GRAPH.TPU, входящий в стандартный комплект пакета Турбо-Паскаль, и становится доступным только после объявления в программе предложения Uses Graph. В модуль входят 73 процедуры и функции, предоставляющие пользователю различные возможности управления графическим экраном.

          Стандартное состояние экрана ЭВМ при запуске Турбо-Паскаля соответствует работе в текстовом режиме, поэтому любая программа, использующая графические средства компьютера, должна инициировать графический режим работы адаптера. Настройка графических процедур на работу с конкретным адаптером достигается за счет подключения нужного графического драйвера. Драйвер – это программа, осуществляющая управление техническими средствами ЭВМ. Графический драйвер управляет графическим адаптером.

          Процедура InitGraph инициализирует графический режим работы адаптера, формат обращения

InitGraph (<драйвер>, <режим>, <путь>),

<драйвер> - переменная типа integer, определяющая тип графического драйвера;

<режим> - переменная типа integer, определяющая режим работы графического адаптера;

 <путь> - выражение типа string, содержащее путь к фалу драйвера.

          К моменту обращения к процедуре на диске должен находиться файл, содержащий нужный графический драйвер. Процедура загружает этот файл в оперативную память и переводит адаптер в графический режим работы.

          Если тип адаптера ЭВМ неизвестен или программа рассчитана на работу с любым адаптером, то используется обращение к процедуре автоматического определения типа адаптера

d:=detect;

          InitGraph (d, r, ‘c:\TP\BGI’);

          После такого обращения устанавливается графический ражим работы экрана, а переменные d, r типа integer будут содержать константы, определяющие тип драйвера и режим его работы.

          Процедура GraphResult возвращает значение типа integer, в котором закодирован результат последнего обращения к графическим процедурам.

          Например, типичная последовательность операторов для инициализации графического режима имеет следующий вид:

          var d, r, e: integer;

          begin

d:=detect;    InitGraph (d, r, ‘c:\TP\BGI’); e:= GraphResult;

          If r <> grOk then

                     begin {ошибка в процедуре инициализации}

                     writeln (GraphErrorMsg(e)); end

          else {нет ошибок}

          ………….

          Процедура CloseGraph прекращает работу адаптера в графическом режиме и восстанавливает текстовый режим работы экрана.

          Процедура ClearDevice очищает графический экран.

          Процедура PutPixel выводит заданным цветом пиксель по указанным координатам на экран; формат обращения

PutPixel (х, y, <цвет>); {х, y – выражения типа integer}.

Таблица 1 – Коды цветов.

код

цвет

код

цвет

код

цвет

код

цвет

0

черный

4

красный

8

темно-серый

12

розовый

1

синий

5

фиолетовый

9

ярко-синий

13

малиновый

2

зеленый

6

коричневый

10

ярко-зеленый

14

желтый

3

голубой

7

светло-серый

11

ярко-голубой

15

белый

Процедура Line(x1, y1, x2, y2)  вычерчивает линию с указанными координатами начала и конца, x1, y1 - выражения типа integer, задающие координаты начала линии; x2, y2 - выражения типа integer, задающие координаты конца линии.

          Процедура LineTo(x, y)вычерчивает линию от текущего положения указателя до положения, заданного новыми его координатами, x, y - выражения типа integer, задающие координаты нового положения указателя, они же координаты конца линии.

Похожие материалы

Информация о работе