Учись программированию на C++ Builder бесплатно!

Описание


Метод FloodFill закрашивает текущей кистью Brush замкнутую область канвы, определенную цветом и начальной точкой закрашивания (X, Y). Точка с координатами X и Y является произвольной внутренней точкой заполняемой области, которая может иметь произвольную форму. Граница этой области определяется сочетанием параметров Color и FillStyle. Параметр Color типа TColor указывает цвет, который используется при определении границы закрашиваемой области, а параметр FillStyle определяет, как именно по этому цвету определяется граница.

Если FillStyle = fsSurface, то заполняется область, окрашенная цветом Color, а на других цветах метод останавливается.

Если FillStyle = fsBorder, то наоборот, заполняется область окрашенная любыми цветами, не равными Color, а на цвете Color метод останавливается.

Классы


TCanvas

Определение


enum TFillStyle (fsSurface, fsBorder);
void __fastcall FloodFill(int X, int У, TColor Color, TFillStyle FillStyle);

Пример №1


Операторы закрашивают белым цветом на канве компонента Image1 все пикселы, прилегающие к пикселу с координатами (X, Y) и имеющие тот же цвет, что и этот пиксел. Например, если вы вставите эти операторы в обработчик щелчка OnClick компонента Image1, то пикселом, определяющим закраску, будет пиксел той точки, в которой пользователь щелкнул на изображении.

Image1->Canvas->Brush->Color = clWhite;
Image1->Canvas->FloodFill(X,Y,Image1->Canvas->Pixels[X][Y],fsSurface) ;

Пример №2


Операторы закрашивают белым цветом на канве компонента Image1 все пикселы, прилегающие к пикселу с координатами (X, Y) и имеющие цвет, отличный от черного. При достижении черной границы области закраска останавливается.

Image1->Canvas->Brush->Color = clWhite;
Image1->Canvas->FloodFill(X, Y, clBlack, fsBorder);

Поиск по сайту