|
Новости |
ГРАФИЧЕСКИЕ ТЕКСТОВЫЕ ПРОЦЕДУРЫ Графический инструментарий представляет два метода отображения текста на экране графического дисплея. Первый метод основывается на использовании стандартных процедур ввода/вывода 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. Главным преимуществом применения машинно-независимых симво- лов является то, что их размер может быть изменен для удовлетво- рения специфическим нуждам вашей программы. |
(с)Все права защищеныПо всем интересующим вопросампрошу писать на электронный адрес |