Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 1 курс / метод указания / Программирование в интегрированной среде Turbo Pascal. Учебное пособие.doc
Скачиваний:
115
Добавлен:
08.06.2015
Размер:
1.51 Mб
Скачать

13.1. Инициализация и завершение графического режима

Для переключения ПК в графический режим используется процедура InitGraph:

Procedure InitGraph (var GrDriver : integer; var Mode : integer; Path : string);

где GrDriver – переменная, задающая графический драйвер;

Mode– переменная, задающая графический режим;

Path– переменная, задающая путь к каталогу, где находится используемый драйвер адаптера монитора.

Наиболее простой способ выбора графического драйвера – автоматический. Для этого перед обращением к InitGraphполагаютGrDriver := Detect, гдеDetect– константа. При использовании самого распространенного адаптера типаSVGADetect = 0. Значение переменнойModeв автоматическом режиме игнорируется. Драйвер этого адаптераegavga.bgi целесообразно помещать в рабочий каталог (например вMYFILE), тогда путь можно задать просто в виде пустой строкиPath := ’’. Следует отметить, что обе переменныеGrDriverиModeтребуется обязательно описывать.

Для выхода из графического режима используется процедура CloseGraph:

Procedure CloseGraph;

Она закрывает графический режим и автоматически возвращает режим, установленный до InitGraph.

13.2. Установка цвета

Драйвер egavga.bgiпозволяет использовать 16 цветов, стандартный набор которых закодирован константами, используемыми также в текстовом режиме (см. табл. 4.1).

Цвет выводимых на экран линий и символов можно задать процедурой SetColor:

Procedure SetColor (Color : word);

где Color - константа цвета.

Если SetColorне вызвана, то используется белый цвет.

Цвет фона для всего экрана устанавливается процедурой SetBkColor:

Procedure SetBkColor (Color : word);

где Color - константа цвета фона.

В отличие от текстового видеорежима в графическом режиме цвет фона может быть ярким, т.е. Color= 0..15. Установка нового фона немедленно изменяет цвет графического экрана. Если процедура установки цвета фона после инициализации графического режима не вызвана, то экран будет черным.

Примечание. Цвет символов и линий с номером Color = 0 отождествляется с цветом фона, поэтому обычно он не используется, так как получается невидимое изображение.

13.3. Стиль заполнения

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

Для установки стиля заполнения используется процедура:

Procedure SetFillStyle (Pattern, Color : word);

где Color– цвет узора;

Pattern – один из 12 шаблонов в соответствии с рис. 13.1.

Рис. 13.1. Шаблоны узоров

Закраска областей осуществляется процедурой FloodFill:

Procedure FloodFill (X,Y : integer; Border : word);

где (X,Y) – координаты точки внутри или вне замкнутой фигуры, т.е. заполняемой цветом области;

Border– цвет граничной линии закрашиваемой области.

В результате заполнение области осуществится стилем, заданным процедурой SetFillStyle. Если фигура незамкнута, то заполнение “разольется” по всему экрану.

13.4. Экран, окно, графический указатель

Координаты экрана имеют вид, представленный на рис. 13.2.

Х

Y

Рис. 13.2. Координаты экрана

Началом координат является точка (0,0).

Максимальные значения координат XиYопределяются соответственно с помощьюGetMaxX иGetMaxY.

Поэтому координаты средней части экрана можно задать точкой

(GetMaxX div 2 ,GetMaxY div 2)

Роль курсора в графическом режиме выполняет указательтекущей позиции на экране. В отличие от текстового курсора он невидим.

Для перемещения указателя (без вывода изображения на экран) используются две процедуры:

1) Procedure MoveTo (X,Y : integer); – перемещает указатель в точку (X,Y);

2) Procedure MoveRel (Dx,Dy : integer); – перемещает указатель в точку, определяемую приращениемDxпо координате Х иDy- по координатеY;

Часто бывает полезно работать не со всем экраном, а с отдельным его окном. Окно в графическом режиме – это прямоугольная область для вывода изображения, т.е. визуальный порт. Установка окна осуществляется следующей процедурой:

Procedure SetViewPort (X1,Y1,X2,Y2 : word; Clip : boolean);

Если Clip = true, то изображение за границами окна обрезается; еслиClip = false, то изображение выводится и за указанными границами окна.

При обращении к процедуре SetViewPortудобно использовать константыClipOn = true иClipOff = false, которые подставляют в процедуру вместоClip.

Процедуры отмены текущего окна не предусмотрено. Если требуется вернуться к работе с полным экраном, то вызывается процедура SetViewPortс соответствующими параметрами:

SetViewPort (0,0,GetMaxX,GetMaxY,ClipOn);

Для очистки графического окна используется процедура ClearViewPotr:

Procedure ClearViewPort;

В результате изображение в окне стирается, цвет фона остается без изменения, указатель перемещается в левый верхний угол окна, в позицию (0,0).

Для очистки графического экрана применяется процедура ClearDevice:

Procedure ClearDevice;

при этом указатель перемещается в левый верхний угол экрана.

Соседние файлы в папке метод указания