Código Delphi
[-]
image1.canvas.brush.color:=clred;
image1.Canvas.FloodFill(XRaton,YRaton,clblack,fsborder);
A mi esto me funciona correctamente.
Me pinta de color rojo desde el punto marcado hasta que encuentra algo de color negro (en ese punto para de pintar).