русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Работа с текстом в графическом режиме


Дата добавления: 2014-11-28; просмотров: 530; Нарушение авторских прав


 

 

Для вывода на экран текста в графическом режиме используются следующие процедуры:

 
 


OutText(S);- вывод строки S(типа string) в текущей позиции курсора.

 
 


OutTextXY(x,y,S); - вывод строки S в позиции с координатами (x, y).

 

Строку S можно определять явно в виде символов, заключенных в апострофы, например, OutText('Sample 1');, или как переменную (константу) типа string. Если требуется вывести значение переменной числового типа, то необходимо приме-нить процедуру ее преобразования в строковый тип. Например: Str(x:10:5,S);- определяем переменную "S" (типа string), полученную преобразованием переменной "x" (вещественного типа) по указанному формату.

Перечислять несколько переменных через запятые (подобно параметрам функций write и writeln) в графических функциях вывода текста не допускается. При выводе нескольких строковых переменных они соединяются знаком "+" , например: OutText('x='+ S);

Для установки стиля вывода текстаиспользуется процедура

 
 


SetTextStyle(F, D, Z);

 

где F - номер шрифта, D - направление вывода надписи, Z - увеличение размера относительно базового варианта. Параметры F, D, Z - типа Word.

Шрифт в графическом режиме может создаваться двумя методами. В первом типе шрифта - матричном, берется стандартный шрифтовой набор BIOS ПК, где каждому символу соответствует матрица 8*8 пикселов. Матричный шрифт используется по умолчанию. Изменение размера матричного шрифта производится увеличением исходной матрицы в N-раз: 8N*8N пикселов. При увеличении размера явно проявляется "грубость" матричного шрифта.

Второй тип шрифтов - векторный(штриховой). При этом буквы рисуются как совокупность отрезков, соединяющих узловые точки букв. Качество в этом случае от размера не зависит. Однако вывод текста векторными шрифтами более медленный, чем матричным.



В стандартном наборе BGI определено:

 

F = 0(DefaultFont) - 8х8 пикселов - матричный шрифт,

векторные шрифты:

F = 1(TriplexFont) - триплекс (полужирный),

F = 2(SmallFont) - уменьшенный,

F = 3(SansSerifFont) - прямой (книжный),

F = 4(GothicFont) - готический.

Направление шрифта: D= 0- по горизонтали слева направо,

D= 1- по вертикали снизу вверх, символы повернуты на 900.

Увеличение размера Z варьируется от 1 до 31 для матричного шрифта и от 1 до 10 для векторных шрифтов. Причембазовый размерсоответствует для матричного шрифта Z= 1, для векторного шрифта Z= 4.При Z= 0 базовый размер устанавливается по умолчанию.

 

Для векторного шрифта, можно изменить его пропорцииотносительно базового размера процедурой

SetUserCharSize(XN, X, YN, Y);

 

При этом (XN/X) - множитель для изменения ширины символов, (YN/Y) - множитель для изменения высоты символов. Параметры XN, X, YN, Y - типа Word.

Текст можно выравниватьотносительно позиции его вывода с помощью процедуры

(0,2) (1,2) (2,2)

SetTextJustify(H, V);* * *

(0,1)*_ЦЕНТРИРУЕМЫЙ ТЕКСТ*(2,1)

* * *

Выравнивание по горизонтали:(0,0) (1,0) (2,0)

H = 0 - текст справа от позиции вывода, В скобках указаны значения H, V.

H = 1 - центрирование текста,

H = 2 - текст слева от позиции вывода.

 

Выравнивание по вертикали:

V = 0- текст выше позиции вывода,

V = 1- центрирование текста,

V = 2- текст ниже позиции вывода.

По умолчанию установлено H= 0, V= 2.

 

Длину строки S(в пикселах) можно определить функциейTextWidth(S);

Высота строки S определяется функцией TextHeight(S);

Если строка не помещается в области экрана, то в случае матричного шрифта эта строка не выводится, а для векторных шрифтов часть строки отсекается.

Цвет текстав графике устанавливается процедурой SetColor(N); где N-номер цвета.

{ -------- Пример программы, демонстрирующей различные шрифты: --------- }

uses Graph;

var Gd, Gm, k, X, Y, Size: integer; S: string;

Begin

Gd:= Detect; InitGraph(Gd, Gm, 'c:\tp7\bgi');

X:= 0; Y:= 0;{ начальные координаты вывода текста }

for Size:= 1 to 10 do begin k:= 0;{ перебор размеров шрифта }

SetTextStyle(k,0,Size); Str(Size,S);{ пишем матричным шрифтом }

OutTextXY(X, Y, 'Size=' + S);

Y:= Y + TextHeight('S') + 1 { смещение по "Y" на высоту буквы "S" }

end;

Readln; ClearDevice;

SetTextJustify(1,2);{ выравнивание по центру }

for k:= 1 to 4 do begin{ пишем векторными шрифтами }

Y:= 0; SetColor(k+8);

for Size:=1 to 10 do begin{ перебор размеров шрифта }

SetTextStyle(k, 0, Size); Str(Size, S);

OutTextXY( GetmaxX div 2, Y, 'Size='+S);

Y:= Y + TextHeight('S') + 1;

end;



<== предыдущая лекция | следующая лекция ==>
Var Gd, Gm, n, m, i, j, | Практическое задание N 1. 62


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.384 сек.