- •1. Библиотечный модуль Graf
- •1.1. Характеристика графических режимов работы адаптера
- •1.2. Основные процедуры и функции графического модуля
- •Процедура CloseGraph
- •1.3. Изображение линий и точек
- •1.4. Изображение многоугольников
- •1.5. Изображение дуг, окружностей, эллипсов
- •1.6. Краски, Палитры, Заполнения
- •Процедура SetFillStyle
- •Процедура GetDefaultPalette
- •1.7. Вывод текста
- •Задает выравнивание выводимого по отношению к текущему положению указателя или к заданным координатам. Заголовок:
- •Процедура SetUserCharSize
- •Функция TextWidth
- •Функция TextHeight
- •1.8. Координаты. Окна. Страницы
- •Функции GetX и GetY
- •Процедура SetViewPort
- •Процедура SetActivePage
- •1.9. Сохранение и выдача изображений
- •2. Объектно-ориентированное программирование
- •2.1. Основные принципы ооп
- •2.2. Создание объектов
- •2.3. Наследование. Правила наследования
- •2.4. Виртуальные и динамические методы
- •2.5. Отличие виртуальных и динамических методов
- •2.6. Деструкторы
- •Список заданий выпускной квалификационной работы
- •Литература
Задает выравнивание выводимого по отношению к текущему положению указателя или к заданным координатам. Заголовок:
SetTextGustify (Horiz, Vert: Word)
Здесь, Horiz –горизонтальное, Vert –вертикальное выравнивание.
Выравнивание определяет, как будет размещаться текст: левее или правее указанного места, выше, ниже или по центру. Здесь можно использовать следующие константы:
const
LeftText= 0; {указатель слева от текста}
CenterText= 1; {симметрично слева и справа, сверху и снизу}
RightText= 2; {указатель справа от текста}
BottomText= 0; {указатель снизу от текста}
TopText= 2; {указатель сверху от текста}
Следующая программа иллюстрирует различные способы выравнивания относительно центра графического экрана.
Program DemoViravniv;
Uses Graph;
Var
GrDriver, GrMode: integer;
Begin
GrDriver:= Detect;
InitGraph (GrDriver, GrMode, 'C: |Bp|BGI');
OutTextXY(150,10,'демонстрация выравнивания шрифтов');
line (0,250,500,250);
Line (250,50,250,450);
SetTextStyle (1,0,1);
SetTextJustify (0,0);
OutTextXY(250,250,'LeftText,BottomText ');
SetTextJustify (2,0);
OutTextXY(250,250,'RightText,BottomText');
SetTextJustify (0,1);
OutTextXY(250,250,'LeftText,TopText');
SetTextJustify (2,1);
OutTextXY(250,250,'RightText,TopText');
Readln;
ClearDevice;
line (0,250,500,250);
Line (250,50,250,450);
SetTextJustify (1,0);
OutTextXY(250,250,'CenterText,BottomText');
Readln;
ClearDevice;
line (0,250,500,250);
Line (250,50,250,450);
SetTextJustify (1,1);
OutTextXY(250,250,'CenterText,TopText');
Readln;
End.
Процедура SetUserCharSize
Изменяет размер выводимых символов в соответствии с заданными пропорциями.
Заголовок:
Procedure SetUserCharSize (X1, X2, Y1, Y2, Word);
Здесь, X1, X2, Y1, Y2 – выражения типа Word, определяющие пропорции по горизонтали и вертикали.
Процедура применяется только по отношению к векторным шрифтам. Пропорции задают масштабный коэффициент, показывающий, во сколько раз увеличивается ширина и высота выводимых символов по отношению к стандартно заданным значениям. Коэфффициент по горизонтали находится как отношение X1 к X2, по вертикали –как отношение Y1 к Y2. Чтобы, например, удвоить ширину символов, необходимо задать X1 = 2 и X2 = 1. Стандартный размер симолов устанавливается процедурой SetTextStyle, которая отменяет предшествующее ей обращение к SetUserCharSize.
Следующая программа демонстрирует изменение пропорций шрифтов.
Program DemoViravniv;
Uses Graph;
Var
GrDriver, GrMode, i, j: integer;
Begin
GrDriver:= Detect;
InitGraph (GrDriver, GrMode, 'C: |Bp|BGI');
OutTextXY(150,10,'демонстрация пропорций шрифтов');
SetTextStyle (4,0,5);
SetBkColor (Blue);
For i: = 1 to 10 do
for j: = 1 to 10 do
begin
ClearDevice;
SetUserCharSize(j,1,i,1);
OutTextXY(100,100, 'My Text');
readln;
end;
End.
Функция TextWidth
Возвращает длину в пикселах выводимой текстовой строки.
Заголовок:
Function TextWidth (Txt:string):Word;
В данной функции учитываются текущий стиль вывода и коэффициенты изменения размеров символов, заданные процедурами SetTextStyle и SetUserCharSize
Функция TextHeight
Возвращает высоту шрифта в пикселах.
Заголовок:
Function TextHeight (Txt:string):Word;
Процедура GetTextSettings
Возвращает текущий стиль и осуществляет выравнивание текста.
Заголовок:
Procedure GetTextSettings (var TextInfo: TextSettings Type);
Здесь, TextInfo –переменная типа TextSettings Type, который в модуле Graph определен следующим образом:
Type
TextSettings Type=record
Font :Word; {номер шрифта}
Direction:Word; {направление}
CharSize :Word; {код размера}
Horiz: :Word; {горизонтальное выравнивание}
Vert :Word; {вертикальное выравнивание}
end;
Функция InstallUserFont
Позволяет программе использовать нестандартный векторный шрифт.
Заголовок:
Function InstallUserFont (FileName: String): integer;
Здесь, FileName –имя файла, содержащего векторный шрифт
Функция возвращает идентификационный (?) нестандартного шрифта, который может использоваться при обращении к процедуре SetTextStyle.
