Das Prob an FloodFill ist, dass es allerdings nur mit einen Canvas arbeitet. Sprich wenn du Image2.canvas nimmst zeichnet der auch darauf. Canvas.Brush ist die Farbe un nimm mal fsSurface als Konstante. Allerdings kannst du sagen wir mal so:
Delphi-Quellcode:
procedure TfrmPlanung.Image2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var i,j :Integer;
begin
image2.canvas.Brush:=$123456;
image2.canvas.FloodFill(x,y,clGreen,fsSurface);
for i:= 0 to Image2.Width do
for j:=0 to Image2.Height do
if Image2.canvas.Pixels[i,j]=$123456 then
Image1.Canvas.Pixels[i,j]:=clLime;
Image2.canvas.Brush:=$clGreen;
image2.Canvas.FloodFill(x,y,$123456,fsSurface);
end;
Er füllt die Fläche bei Image2 mit einer ganz bestimmten Farbe, zeichnet danach alle Pixels die bei Image2 die bestimmte Farbe haben bei Image1 farbig und setzt in Image2 die Farbe zum Schluß zurück.