- •Тема 3.1. Модуль Graph. Графічний режим.
- •1. Перемикання екрана в графічний режим.
- •2. 3Акінчення роботи в графічному режимі.
- •3. Робота в графічному режимі.
- •4. Графічні режими.
- •5. Кольори та палітри.
- •6. Переміщення поточного вказівника та малювання точки.
- •7. Малювання ліній.
- •8. Малювання геометричних фігур.
- •9. Виведення тексту в графічному режимі.
- •10. Аналіз програм з елементами графіки, звукових сигналів.
9. Виведення тексту в графічному режимі.
У графічному режимі розташування тексту на екрані задається відносно певної точки. Відносно неї задається вирівнювання тексту, тобто вказується, чи точка буде знаходитись посередині тексту, чи зверху, знизу, ліворуч чи праворуч. Для самого тексту встановлюється поточний шрифт.
Процедура SetТextJustify(G, V : word). Встановлює значення для вирівнювання тексту, що використовуються процедурами OutText і OutTextXY. Параметр G задає вирівнювання по горизонталі, V - по вертикалі. Після виконання процедури SetTextJustify текст, що виводиться, буде вирівнюватися відносно поточного вказівника заданим способом. У модулі Graph визначено наступні константи:
const
{ горизонтальне вирівнювання}
LeftТext = 0; {вирівняти ліворуч}
CenterText = 1; {центрувати }
RightText = 2; { вирівняти праворуч}
{ вертикальне вирівнювання}
BottomText = 0; {перемістити вниз}
CenterText = 1; {центрувати }
TopText = 2; {перемістити нагору}
Приклад. При використанні двох наступних операторів
SetTextJustify(CenterText, CenterText);
OutTextXY(l00, 100, 'АВС');
Точка з координатами (100,100) буде знаходитись посередині букви В.
Встановлені за замовчуванням параметри вирівнювання можна відновити за допомогою виклику SetТextJustify(LeftТext,TopText).
Процедура SetТextStyle(Shr word; Napr word; Rozm CharSizeType). Встановлює поточний шрифт, тип і коефіцієнт розміру символу. Параметр Shr задає тип шрифту, Napr - напрямок шрифту (зліва направо або знизу вверх), Rozm - масштабування розмірів шрифту.
Процедура впливає на всі виведення тексту, що виконують процедури OutText і OutTextXY. У модулі Graph оголошені наступні константи, значення яких можна використовувати для параметрів процедури SetTextStyle:
Константи |
Значення |
Зміст |
Для параметра Shr |
||
DeaultFont |
0 |
Шрифт за замовчуванням 8 8 |
TriplexFont |
1 |
Шрифт Triplex |
SmallFont |
2 |
Маленький шрифт |
SansSerifFont |
3 |
Шрифт SansSerif |
GotthicFont |
4 |
Готичний шрифт |
Для параметра Napr |
||
HorisDir |
0 |
зліва направо |
VertDir |
1 |
знизу вверх |
Для параметра Rozm |
||
UzerCharSize |
0 |
User-defined character size |
Можна використовувати один шрифт розміру 8 8 і декілька "штрихових" шрифтів. Підтримується нормальне (зліва направо) розташування тексту і вертикальне (розгорнуте на 90 градусів щодо нормального розташування), при якому текст починається з нижньої границі екрана і продовжується нагору. Розмір кожного символу може збільшуватися на коефіцієнт, що задається параметром Rozm. Значення розміру символу, яке дорівнює одиниці, призводить до виведення шрифту 8 8, кожна літера якого займає прямокутну область екрана, що містить 8 8 пікселів, параметр Rozm, рівний 2 призведе до виведення на екран кожного символу шрифту 8 8 у прямокутну область розміром 16 16 пікселів і т.д. (аж до десятикратного збільшення нормального розміру). Для визначення дійсних розмірів тексту при поточних параметрах шрифту, типу і коефіцієнту розміру символу використовують процедури TextHeight і TextWidth. Нормальними значеннями розміру для шрифту є 1 для прийнятого за замовчуванням шрифту і 4 для "штрихового" шрифту. Ці значення можна передавати процедурі SetTextStyle параметром Rozm. Для налаштування розміру "штрихового" текстового шрифту можна використовувати процедуру SetUserFont.
Функція TextHeight(S : string):word. На основі розміру поточного шрифту і коефіцієнта розміру повертає висоту рядка S в пікселях. Це корисно використовувати для вибору інтервалу між рядками, обчислення висоти області перегляду, визначення розміру заголовка, щоб він помістився в заданому малюнку чи в задану область.
Функція TextWidth(S : string):word. На основі довжини рядка (у символах), розміру поточного шрифту і коефіцієнта розміру визначає довжину рядка S в пікселях.
Процедура OutТext(S : string). Параметр S виводиться в місці розташування поточного вказівника. При цьому використовуються поточні параметри вирівнювання. Якщо рядок занадто довгий чи активний шрифт занадто великий, що призводить до того, що він не поміщається на екрані чи в поточній області перегляду, то він усі кається.
Процедура OutТextXY(X,Y : integer; S : string). Рядок, заданий параметром S, виводиться, починаючи з точки з координатами (Х,У). Процедура OutТext використовується для виведення тексту в місці розташування поточного вказівника. Процедура OutTextXY використовується для виведення тексту в будь-якому заданому місці екрана.
