Описываемые ниже стандартные процедуры подддерживают вывод текстовых сообщений в
графическом режиме. Это не одно и то же, что использование процедур 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 карандаша разного цвета.