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


 
В этот день много лет назад...
16 апреля. В 1789 году (236 лет назад) - В Тобольске торжественно открывается типография Василия Яковлевича Корнильева, который, как следует из указа правителя тобольского наместничества А.В. Алябьева, желает "производить на первый случай печатание книг на Российском диалекте гражданскими литерами, и впредь стараться будет и на разных иностранных". Это - первая типография в Сибири.
 
 

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