Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

FloodFill

CuBook55

Описание

Метод 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;
lmage1->Canvas->FloodFill(X,Y,Image1->Canvas->Pixels[X][У],fsSurface) ;
 
Пример №2

Операторы закрашивают белым цветом на канве компонента Image1 все пикселы, прилегающие к пикселу с координатами (X, Y) и имеющие цвет, отличный от черного. При достижении черной границы области закраска останавливается.
lmage1->Canvas->Brush->Color = clWhite;
Image1->Canvas->FloodFill(X, Y, clBlack, fsBorder);
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий