5.3 Установка цвета и стиля заполнения
Для установки цвета изображения и фона применяются процедуры:
SetColor (Color: Word)задает цвет, который будет использоваться процедурами графического вывода.
SetBkColor (Color: Word)задает новый цвет фона
Номер цвета задается параметром Color
Константа |
Значение |
Цвет на экране монитора |
Black |
0 |
Черный |
Blue |
1 |
Синий |
Green |
2 |
Зеленый |
Cyan |
3 |
Голубой |
Red |
4 |
Красный |
Magenta |
5 |
Малиновый |
Brown |
6 |
Коричневый |
LightGray |
7 |
Светло-серый |
DarkGray |
8 |
Темно-серый |
LightBlue |
9 |
Светло-синий |
LightGreen |
10 |
Светло-зеленый |
LightCyan |
11 |
Светло-голубой |
LightRed |
12 |
Светло-красный |
LightMagenta |
13 |
Светло-малиновый |
Yellow |
14 |
Желтый |
White |
15 |
Белый |
В модуле Graphсодержится ряд стандартных шаблонов различных узоров для заполнения внутренних и внешних областей различных геометрических фигур. Узор может быть окрашен в допустимые для установленной палитры цвета. Комбинацию узор-цвет называют стилем заполнения.
Процедура SetFillStyle( Pattern: Word; Color: Word) устанавливает маскуPatternи ее цветColor, т. е. определяет стиль заполнения.
Параметр Patternможет иметь следующие значения:
Константа |
Значение |
Описание узора |
EmptyFill |
0 |
Сплошной цветом фона |
SolidFill |
1 |
Сплошной текущим цветом |
LineFill |
2 |
Типа |
LtSlashFill |
3 |
Типа /// нормальной толщины |
SlashFill |
4 |
Типа /// удвоенной толщины |
BkSlashFill |
5 |
Типа \\\ нормальной толщины |
LtBkSlashFill |
6 |
Типа \\\ удвоенной толщины |
HatchFill |
7 |
Заполнение клеткой |
XHatchFill |
8 |
Заполнение косой редкой клеткой |
InterLeaveFill |
9 |
Заполнение косой частой клеткой |
WideDotFill |
10 |
Заполнение редкими точками |
CloseDotFill |
11 |
Заполнение частыми точками |
UserFill |
12 |
Определяется пользователем |
5.4 Заполнение областей изображения
Процедура Sector (X, Y: Integer; StEngle, EndEngle: Word; XR, YR: Word) рисует сектор эллипса, который будет залит цветом по текущему шаблону.
Процедура PieSlice (X, Y: Integer; StEngle, EndEngle, Radius: Word) рисует сектор эллипса, который будет залит текущим узором.
Процедура FillEllipse (X, Y: Integer; XR, YR: Word) рисует контур эллипса текущим цветом и заполняет ограниченную контуром область экрана текущим узором.
Процедура FloodFill (X, Y: Integer; Border: Word) заполняет заданным с помощьюSetFillStyleстилем область, расположенную либо внутри замкнутого контура, либо вне его. (X,Y)-координаты точки внутри или вне замкнутого контура,Border-цвет контура.
5.5 Работа с текстом
Отображение текста в графическом режиме имеет ряд отличий от текстового режима. Основное отличие состоит в том, что в графическом режиме все действия производятся только со строковыми константами и переменными. Вся числовая информация должна предварительно преобразовываться в символьную. Второе отличие - в возможности использования различных шрифтов.
Процедура OutText (TextString: String)выводит на экран строку текста начиная с текущего положения курсора
Процедура OutTextXY (X, Y: Integer;Text: String)выводит на экран строку текста, начиная с точки с координатами (X,Y).
Для вывода числовых данных нужно преобразовать число Numberв строкуTextс помощью процедурыSTR(Number, Text).
В комплект поставки пакета Турбо Паскаль включается набор штриховых шрифтов. Файлы этих шрифтов имеют расширение .CHR. В штриховых шрифтах при построении символа используется не матричный, а векторный способ, что позволяет манипулировать шрифтами без ухудшения качества изображения. Стандартный набор включает четыре шрифта, а, кроме того, доступен системный матричный шрифт 8х8 для графических режимов. Для обозначения шрифтов используются зарезервированные константы
DefaultFont |
0 |
Матричный шрифт 8х8 (по умолчанию) |
TriplexFont |
1 |
Полужирный шрифт |
SmallFont |
2 |
Тонкий шрифт |
SansSerifFont |
3 |
Рубленый шрифт |
GothicFont |
4 |
Готический шрифт |
По умолчанию установлен матричный шрифт 8х8. Для установки шрифта используется процедура
SetTextStyle (Font: Word; Direction: Word; CharSize: Word) где Font задает шрифт,
Direction- ориентацию и направление вывода символов: если значениеDirectionравно 1, токаждый символ будет повернут на 90в направлении против часовой стрелки и отображение будет производиться снизу вверх; при значенииDirectionравном 1отображение текста будет производиться по горизонтали слева направо.
CharSize- размер отображаемых символов.
При выводе текстовых строк на экран можно задавать расположение следующей отображаемой строки относительно текущего положения указателя с помощью процедуры SetTextJustify (Horiz, Vert: Word)
Размещение строк и символов на экране задается с помощью параметров HorizиVert, которые могут иметь следующие значения:
Horiz |
Значение |
Назначение |
LeftText |
0 |
Объявить текущую позицию указателя левой границей строки |
CenterText |
1 |
Центрировать строку относительно текущей позиции указателя |
RightText |
3 |
Объявить текущую позицию указателя правой границей строки |
Vert |
Значение |
Назначение |
BottomText |
0 |
Размещать символы ниже позиции указателя |
CenterText |
1 |
Центрировать символы по вертикали относительно текущей позиции указателя |
TopText |
3 |
Размещать символы выше позиции указателя |