|
Горбачев Л.И. Основы программирования в среде Turbo Pascal.
[НАЗАД]
[ДАЛЕЕ]
5. Вывод текстовой информации.
В графическом режиме вывод текстовой информации осуществляется с
помощью штриховых и побитных шрифтов. Каждый символ в штриховом шрифте определен
серией отрезков, что позволяет использовать любой коэффициент увеличения
символов без ухудшения качества изображения. Побитовый шрифт определен матрицей
8х8 пикселей для каждого символа. Для увеличения побитового шрифта используется
коэффициент масштабирования, однако большое увеличение шрифта делает его грубым.
Каждый шрифт хранится в соответствующем файле с расширением CHR. При
использовании шрифтов они автоматически загружаются с диска (шрифт может быть
подсоединен к загрузочному модулю).
Вывод текстовой информации в графическом режиме осуществляется с
помощью следующих процедур модуля Graph:
- OutText(TextString: string); - вызывает вывод строки TextString, начиная с
позиции текущего указателя.
- OutTextXY(X, Y: integer; TextString: string); - выводит строку, начиная с
точки, имеющей координаты (X, Y).
- SetTextStyle(Font,Direction: word; CharSize: word); - устанавливает текущий
шрифт, тип и коэффициент увеличения символов. CharSize задает следующий
коэффициент увеличения символов: если CharSize = 1, то шрифт не увеличивается;
если CharSize = 2, то размер символов увеличивается в два раза по вертикали и
горизонтали и т.д. Direction - задает направление вывода (HorizDir -
горизонтальное, слева направо; VertDir - вертикальное, снизу вверх). Font -
задает тип устанавливаемого шрифта.
- SetTextJustify(Horiz, Vert: word); - устанавливает значение выравнивания
текста. Для установки значения выравнивания определены следующие
константы:
Горизонтальное выравнивание |
Вертикальное выравнивание |
Константа |
Значение |
Константа |
Значение |
LeftText - слева |
0 |
BottomText - снизу |
0 |
CenterText - центр |
1 |
CenterText - центр |
1 |
RightText - справа |
2 |
TopText - сверху |
2 | По умолчанию используется
SetTextJustify(LeftText,TopText).
Кроме перечисленных констант и их значений выравнивание текста может
быть задано в абсолютных координатах. Например, SetTextJustify(100,100)
обеспечивает выравнивание текста относительно точки с координатами
(100,100).
- GetTextSettings(var TextInfo: TextSettingsType); - возвращает значения
параметров текущего шрифта (направление, размер, выравнивание и пр.). Эти
параметры объединены в запись типа TextSettingsType, описанную в разделе
интерфейса модуля Graph как
type TextSettingsType =
record Font: word; Direction: word; CharSize:
word; Horiz: word; Vert: word; end; Значения отдельных полей записи TextSettingsType
определяются на основании следующего списка констант в разделе интерфейса модуля
Graph: const DefaultFont = 0; {файл 8х8} TriplexFont = 1; {тройной шрифт} SmallFont = 2; {малый шрифт} SansSerifFont = 3; {гротесковый шрифт} GothicFont = 4; {готический шрифт} HorizDir = 0; {направление слева направо} VertDir = 1; {направление снизу вверх}
- SetUserGharSize(MultX, DivX, MultY, DivY: word); - изменяет ширину и высоту
символов для штриховых шрифтов.
- TextHeight(TextString: string): word; - возвращает высоту строки в пикселях.
- TextWidth(TextString: string): word; - возвращает длину строки в пикселях.
- RegisterBGIFont(Font: pointer): integer; - совмещает загружаемый шрифт с
графической системой.
Пример: Пример использования TextHeight [program
TextHeight]
Пример: Пример использования GetTextSettings [program GTSet]
Пример:
Демонстрация использования CHR - шрифтов; - используется процедура
InstallUserFont; - шрифт должен находится в том же каталоге, что и
исполняемый модуль; - шрифт в модуль не включается. [program
CHRFont]
[НАЗАД]
[ДАЛЕЕ]
|
|