Вывод текста.


 

Описываемые ниже стандартные процедуры  подддерживают вывод текстовых сообщений в графическом режиме. Это не одно и то же, что использование процедур Write и Writeln. Дело в том, что специально для графического режима разработаны процедуры, обеспечивающие вывод сообщений различными шрифтами в горизонтальном или вертикальном направлении, с изменением размеров и т.д.

OutText('текст'), где переменная 'текст' типа String – выводит текстовую строку, начиная с текущего положения указателя. При горизонтальном направлении вывода указатель смещается в конец выведенного текста, при вертикальном – не меняет своего положения. Строка выводится в соответствии с установленным стилем и выравниванием.

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

OutTextXY(X, Y, 'текст'), где переменные X, Y типа Integer , а 'текст' типа String – выводит строку 'текст', начиная с точки с координатами X, Y. Указатель не меняет своего положения.

Например, после применения процедуры OutTextXY(100, 50, 'Grafika in Turbo Pascal') на экране будет высвечена строка Grafika in Turbo Pascal, начиная с точки с координатами (100,50).

SetTextStyle(Font; Direct; Size), где переменные Font и Direct типа word, а Size типа Integer – устанавливает стиль текстового вывода на графический экран. Здесь переменная Font указывает на код (номер) шрифта, Direct – код направления, а Size – код размера шрифта.

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

Номер

Описание

0

точечный шрифт 8х8

1

утроенный шрифт

2

уменьшенный шрифт

3

прямой шрифт

4

готический шрифт

5

“рукописный” шрифт

6

одноштриховый шрифт типа Courier

7

красивый наклонный шрифт типа Times Italic

8

шрифт типа Times Roman

9

шрифт типа Courier увеличенного размера

10

крупный двухштриховый шрифт

Cреди этих шрифтов только DefaultFont (код 0) является матричным шрифтом, т.е. его символы создаются из матриц 8х8 пикселей. Все остальные шрифты – векторные, их элементы формируются как совокупность векторов определенного направления и размера.

Примечание. Русскоязычные сообщения можно выводить в графическом режиме с помощью шрифта DefaultFont.

Для задания направления выдачи текста используют следующие константы:

0 – слева направо

1 – снизу вверх

Размер выводимых символов задается параметром Size, который имеет диапазон от 1 до 10 (матричный шрифт от 1 до 32).

SetTextJustify (Horiz,Vert), где переменные Horiz и Vert типа word – задает выравнивание текста по отношению к текущему положению указателя или к заданным координатам. Здесь Horiz – горизонтальное выравнивание, а Vert – вертикальное выравнивание.

Выравнивание определяет как будет размещаться текст – левее или правее указанного места, выше, ниже или по центру.

Можно использовать следующие константы:

Для Horiz:

LeftText = 0 (указатель слева от текста);

CenterText = 1 (симметрично слева и справа);

RightText = 2 (указатель справа от текста);

Для Vert:

BottonText = 0 (указатель снизу от текста);

CenterText = 1 (симметрично снизу и сверху);

TopText = 2 (указатель сверху от текста);

Обратите внимание на неудачные имена констант. Если Вам надо расположить текст справа от заданных координат (процедура OutTextXY), то нужно задать константу LeftText, что в переводе с английского означает “Левый текст”.

SetUserCharSize (X1, X2, Y1, Y2), где переменные X1, X2, Y1, Y2 типа word – изменяет размер выводимых символов в соответствии с заданными пропорциями. Пропорции задают масштабный коэффициент, показывающий во сколько раз увеличится ширина и высота выводимых символов по отношению к стандартно заданным значениям. Коэффициент по горизонтали находится как отношение X1 к X2, по вертикали Y1, Y2. Например, чтобы удвоить ширину символов, необходимо задать Х1=2 и Х2=1. Стандартный размер символов устанавливается процедурой SetTextStyle, которая отменяет предшествующее ей обращение к SetUserCharSize.

GraphDefaults – cбрасывает заданные пользователем параметры графического режима и устанавливает исходные (определяемые по умолчанию при запуске процедуры InitGraph).

Задание. Дайте название своему рисунку, используя изученные процедуры.

 

Решение задач.

Выберите с учителем задачи для решения из предложенного ниже списка:

1. Построить и подписать вершины

            а) треугольника с вершинами (200,200), (250,200), (180,270);

            б) прямоугольника с вершинами (80,80), (170, 80), (170, 50), (80,150);

2. Нарисовать человечка и подписать его части тела.

3. Составьте программу черчения на экране прямой, отрезка, луча и угла таким образом, чтобы каждый объект появлялся после нажатия клавиши <Enter>. Предыдущий объект должен стираться. Подписывайте каждый раз выводимый объект.

4. Составьте программу черчения на экране треугольника, прямоугольника и круга таким образом, чтобы каждый объект появлялся после нажатия клавиши <Enter>. Предыдущий объект должен стираться. Подписывайте каждый раз выводимый объект.

5. Написать на экране введенную строку пятью различными стилями.

6. Написать программу для вычерчивания на экране своего имени с помощью символа «*».

7. Построите на экране все виды углов и подпишите. (Углы бывают острыми, тупыми, прямыми и развернутыми.)

8. Начертить на экране все известные Вам графические объекты.

9. Построить снеговика, разукрасить его по своему вкусу. Дайте картинке название.

10. Нарисовать 3 карандаша разного цвета.