Вывод текста
Следующая программа иллюстрирует различные способы выравнивания относительно центра графического экрана.
Uses Graph, CRT; var d, r, e: Integer; begin {Инициируем графику} d: = Detect; InitGraph(d,, r, ' '); e: = GraphResult; if e <> grOk then WriteLn(GraphErrorMsg(e)) else begin {Выводим перекрестие линий в центре экрана} Line(0,GetMaxY div 2,GetMaxX,GetMaxY div 2); Line(GetMaxX div 2.0,GetMaxX div 2,GetMaxY); {Располагаем текст справа и сверху от центра} SetTextStyle(TriplexFont,HorizDir,3); SetTextJustify(LeftText,BottomText); OutTextXY (GetMaxX div 2, GetMaxY div 2, 'LeftText,BottomText'); {Располагаем текст слева и снизу} SetTextJustify (RightText, TopText); OutTextXY (GetMaxX div 2, GetMaxY div 2,'RightText, TopText'); if ReadKey=#0 then d: = ord(ReadKey); CloseGraph end end.
Процедура SetUserCharSize
Изменяет размер выводимых символов в соответствии с заданными пропорциями. Заголовок:
Procedure SetUserCharSize(XI,X2,Yl,Y2: Word);
Здесь X1…Y2 – выражения типа Word, определяющие пропорции по горизонтали и вертикали.
Процедура применяется только по отношению к векторным шрифтам. Пропорции задают масштабный коэффициент, показывающий во сколько раз увеличится ширина и высота выводимых символов по отношению к стандартно заданным значениям. Коэффициент по горизонтали находится как отношение X1 к Х2, по вертикали – как отношение Y1 к Y2. Чтобы, например, удвоить ширину символов, необходимо задать X1=2 и Х2=1. Стандартный размер символов устанавливается процедурой SetTextStyle, которая отменяет предшествующее ей обращение к SetUserCharSize.
В следующем примере демонстрируется изменение пропорций уменьшенного шрифта.
Uses Graph, CRT; var d, r, e: Integer; begin {Инициируем графику} d: = Detect;.InitGraph (d, r, ''); e: = GraphResult; if e <> grOk then WriteLn(GraphErrorMsg(e)) else begin MoveTo (0, GetMaxY div 2); SetTextStyle (SmallFont, HorizDir, 5); SetTextJustify (LeftText, BottomText); {Выводим сообщение стандартной высотой 5} OutText ('Normal Width,'); {Удваиваем ширину шрифта} SetUserCharSize (2, 1, 1, 1); OutText (' Double Width, '); {Удваиваем высоту, возвращаем стандартную ширину} SetUserCharSize (I, 1, 2, 1); OutText ('Double Height,'); SetUserCharSize (2, 1, 2, 1); OutText (' Double Width and Height'); if ReadKey=#0 then d: = ord(ReadKey); CloseGraph end end.