|
|
| Новости |
ГРАФИЧЕСКИЕ ТЕКСТОВЫЕ ПРОЦЕДУРЫ
Графический инструментарий представляет два метода отображения
текста на экране графического дисплея. Первый метод основывается
на использовании стандартных процедур ввода/вывода Write и
WriteLn, которые отображают машинно зависимый набор символов.
Этот набор определяется аппаратным обеспечением компьютера и со-
держит типы символов, которые вы обычно используете. Однако, инс-
трументарий также позволяет вам отображать машинно независимые
символы, используя процедуры DrawText и DrawTextW, которые отоб-
ражают буквы переменного размера на графическом экране или в ок-
не. Машинно независимые процедуры наиболее интересны.
Машинно-независимый набор символов
-----------------------------------------------------------------
Каждый машинно-независимый символ конструируется, используя
матрицу 4х6 пикселов. Например, буква "Е" конструируется, как это
показано на рис.10-3. Так как машинно-независимый набор символов
создается с помощью графического инструментария, то можно изме-
нять размер букв, используя масштабирующий коэффициент.
-----------------------------------------
+-----------+
+--+--+--+--¦
+--+--+--+--¦
+--+--+--+--¦
+--+--+--+--¦
+--+--+--+--¦
+-----------+
----------------------------------------
Рис.10-3. Построение буквы "Е" в матрице 4х6 пикселов
DrawText и DrawTextW
-----------------------------------------------------------------
Процедуры DrawText и DrawTextW объявляются следующим образом:
procedure DrawText(X, Y, Scale: integer, Msg: WrkString);
procedure DrawTextW(X, Y, Scale: integer, Msg: WrkString);
Данные процедуры выводят сообщение Msg, начиная с координат X, Y
в масштабе, заданном параметром Scale. WrkString декларируется
инструментарием, как строка максимальной длины. Однако, вы можете
использовать любой тип, который пожелаете.
Простая программа, показанная далее, отображает примеры пер-
вых шести размеров шрифта.
program text_graphics;
{Si typedef.sys}
{Si graphix.sys}
{Si kernel.sys}
var
i:integer;
begin
InitGraphic;
DefineWorld(1, 0, 0, 1000, 1000);
SelectWorld(1);
SelectWindom(1);
DrawBorder;
for i: = 1 to 6 do
begin
DrawTextW(10, i*140, i, 'Это тест')
end;
repeat until KeyPressed;
LeaveGraphic;
end.
Главным преимуществом применения машинно-независимых симво-
лов является то, что их размер может быть изменен для удовлетво-
рения специфическим нуждам вашей программы.
|
|
(с)Все права защищеныПо всем интересующим вопросампрошу писать на электронный адрес
|