18c0693f

Заполнение замкнутых областей



3.9. Заполнение замкнутых областей

Для заполнения внутренней или внешней области фигуры определенным образцом закраски используется процедура

FloodFill( X, Y, Border ),

где X, Y – координаты точки внутри или вне фигуры, Border – цвет контура фигуры. Если точка (X, Y) находится внутри замкнутой области, то заполняется внутренняя область. Если эта точка находится вне замкнутой области, то заполняется ее внешняя часть.

Пример: Красная окружность заполненная зеленой штриховкой

SetColor( Red ); Circle( 450, 100, 50 );

SetFillStyle( SlashFill, Green );

FloodFill( 450, 100, Red );

4. Вывод текста в графическом режиме

4.1. Вывод текста


В графическом режиме стандартные процедуры вывода Write и Writeln не работают. Для вывода текстовой информации на графический экран используют две процедуры OutText и OutTextXY. Процедура

OutText( TextString )

выводит на экран строку текста начиная с текущего положения графического курсора. Например:

OutText( ‘Добро пожаловать!’ );

Явный недостаток этой процедуры – нельзя указать произвольную точку начала вывода. Его можно устранить с помощью процедуры MoveTo, которая перемещает указатель в нужную позицию, но лучше воспользоваться процедурой

OutTextXY( X, Y, TextString ),

где X, Y – координаты точки начала вывода текста, TextString – константа или переменная строкового типа string. Например, чтобы вывести сообщение “Для продолжения нажмите любую клавишу ...”, начиная с точки 20, 400 надо записать:

OutTextXY( 20, 400, ‘Для продолжения нажмите любую клавишу ...’ );

4.2. Вывод числовых значений


Для начинающих проблемой является вывод числовых данных на графический экран, ибо в модуле Graph нет предназначенных для этого процедур. Выход прост: преобразовать числовое значение в строковое с помощью процедуры Str.

Примеры:

X := 12.5;

Str(X:4:1, S) { преобразование числа x в строку S }

OutTextXY( 10, 10, S ); { вывод строки S }

max := 345.55;

Str(max:6:2, S) { преобразование числа max в строку S }

OutTextXY( 10, 50, ‘Максимальное значение = ’ + S ); { вывод суммы двух строк }





Все публикации раздела