Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsia_17_Standartnye_podprogrammy_Graph.doc
Скачиваний:
3
Добавлен:
03.12.2018
Размер:
127.49 Кб
Скачать

Управление курсором

Чтобы построить изображение, необходимо обязательно указать начальную позицию. В текстовом режиме эту позицию определяет положение курсора, который размещается каждый раз за последним отображенным символом и указывает на местоположение следующего. В графическом режиме видимого курсора нет, но есть невидимый текущий указатель СР (Current Point), выполняющий те же функции, что и курсор в текстовом режиме. Текущий указатель называют также графическим курсором.

Для определения текущих координат графического курсора используют функции GetX:integer и GetY:integer.

Для перемещения графического курсора используют процедуры MoveTo и MoveRel.

Процедура MoveTo(X,Y:integer); перемещает текущий указатель в точку с координатами X,Y. Процедура MoveRel(dX,dY:integer); перемещает текущий курсор в точку, которая находится на расстоянии dX,dY от текущей позиции. При задании положительных значений dX или dY значения соответствующих координат увеличиваются, при задании отрицательных – уменьшаются.

Вывод текстовой информации в графическом видеорежиме

При выводе графических изображений на экран иногда нужно вывести текстовые обозначения или надписи.

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

В графическом видеорежиме вывод текстовой информации выполняется с помощью штриховых и побитовых (растровых, матричных) шрифтов. В штриховых шрифтах при построении символа используется векторный способ (символ определяется серией отрезков). Побитовый или растровый шрифт определен матрицей 8×8 пикселов для каждого символа. Главное отличие штриховых шрифтов от растровых состоит в том, что при увеличении размера символов растрового шрифта качество изображения ухудшается, а при увеличении размера символов штрихового шрифта – не ухудшается.

Каждый штриховой шрифт хранится в соответствующим файле с расширением .chr. Необходимо, чтобы файлы *.chr находились в том же каталоге, что и файлы графических драйверов (*.bgi).

Стандартный набор шрифтов может включать 9 шрифтов, однако не все из них подключают русский алфавит.

Таблица 5. Константы некоторых типов шрифтов

Константа

Значение

Название шрифта

DefaultFont

TriplexFont

SmallFont

SansSerifFont

GothicFont

0

1

2

3

4

Растровый шрифт 8×8

Полужирный шрифт

Тонкий шрифт

Рубленный шрифт

Готический шрифт

По умолчанию принимается растровый шрифт DefaultFont размера 1.

Процедура SetTextStyle(Font:word; Direction:word; CharSize:word); служит для установки шрифта. В ней Font задает шрифт, Direction – ориентацию и направление вывода символов, CharSize – размер отображаемых символов. Direction может принимать значение HorizDir=0 (направление слева направо) или VertDir=1 (направление снизу вверх.). Если указать Direction=2, то каждый символ будет повернут на 90° против часовой стрелки (т.е. окажется "лежащим на боку") и вывод будет производиться в горизонтальном направлении, однако не все шрифты поддерживают этот режим.

Параметр CharSize (размер символов) может принимать целочисленные значения от 0 до 10, причем 0 соответствует размеру, стандартному для данного шрифта, а 10 является максимальным размером, но не для всех шрифтов.

Процедура SetUserCharSize(MultX, DivX, MultY, DivY:word); позволяет управлять размером символов. Здесь первые два параметра задают размер по горизонтали, два следующие – по вертикали. Если принять за 1 значение ширины символа стандартного шрифта, то отношением MultX/DivX задается ширина символа шрифта, а MultY/DivY – высота.

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

Процедура OutText(TextString:string); выводит на экран строку текста, начиная с текущего положения указателя.

Процедура OutTextXY(X,Y:integer; TextString:string); выводит строку текста, начиная с точки, имеющей координаты (X,Y).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]