Страница 19 из 39
Машинно-независимый набор символов Каждый машинно-независимый символ конструируется, используя матрицу 4х6 пикселов. Например, буква "Е" конструируется, как это показано на рис.10-3. Так как машинно-независимый набор символов создается с помощью графического инструментария, то можно изме- нять размер букв, используя масштабирующий коэффициент.
----------------------------------------- ---T--T--T--¬ +--+--+--+--+ +--+--+--+--+ +--+--+--+--+ +--+--+--+--+ +--+--+--+--+ L--+--+--+--- ---------------------------------------- Рис.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.
Главным преимуществом применения машинно-независимых симво- лов является то, что их размер может быть изменен для удовлетво- рения специфическим нуждам вашей программы.
|