HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail


 
В этот день много лет назад...
22 апреля. В 1760 году (266 лет назад) - На одном из музыкальных вечеров в Лондоне проходит дебют роликовых коньков. Юный музыкант-бельгиец вкатывается в зал на изобретенном им средстве передвижения со скрипкой в руках и не успевает поразить собравшихся своим мастерством, как врезается в зеркало.
 
 

Turbo Pascal Documentation

Процедура FloodFill

Модуль Graph


     Функция: Заполняет ограниченную облать, используя теку-
щий заполнитель.
     Описание: FloodFill(x, y, граница : word)
     Примечания: Эта процедура используется  для  заполнения
замкнутой области (для растровых устройств). Точка (x,y) яв-
ляется внутренней точкой заполняемой области. Для заполнения
области,  ограниченной  цветом,  который определяет параметр
"граница", используется текущий образец закраски. Если точка
(x,y)  находится  внутри  замкнутой  области, то заполняется
внутренняя область. Если эта точка находится  вне  замкнутой
области,  то  заполняется  ее внешняя часть (поле экрана, не
входящее в область).
     Если при заполнении области происходит ошибка, то функ-
ция GraphResult возвращает значение -7 (grNoFloodMem).
     Заметим, что процедура FloodFill останавливается  после
того,  как выведено две пустых строки. Это может произойти в
том случае, когда заполнитель и маленький прямоугольник сли-
ваются.  В  следующей  программе  прямоугольник полностью не
закрашивается:

  program StopFill;
  uses Graph;
  var
    Driver, Mode: integer;
  begin
    Driver := Detect;
    InitGraph(Driver, Mode, 'c:\bgi');
    if GraphResult <> grOk then
       Halt(1);
    SetFillStyle(LtSlashFill, GetMaxColor);
    Rectangle(0, 0, 8, 20);
    FloodFill(1, 1, GetMaxColor);
    ReadLn;
    CloseGraph;
  end.

     В этом случае прямоугольник будет полностью  заклрашен,
если использовать более "густой" заполнитель типа SlashFill.
     Аналогичная процедура имеется в версии 2.0 Турбо-Си.
     Прочее: См. также процедуры  SetFloodPattern,  SetFill-
Pattern.
     Пример:

  begin
   ...
    SetColor(Red);
    FloodFill(50,50,Blue);
     ...
  end.




HOME