如何给图上的闭合区域着色,类似于Windows画图的‘用颜色填充’那个功能。

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
     Image1.Canvas.Ellipse(10,10,100,100);
     Image1.Canvas.Rectangle(50,50,200,200);
    end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      Image1.Canvas.Brush.Color := clRed;
      Image1.Canvas.FloodFill(X,Y,clBlack,fsBorder);
    end;
      

  2.   

    r:TRect;
    r.left:=image1.left;
    r.top:=image1.top;
    r.right:=image1.left+image1.width;
    r.bottom:=image1.height+image1.top
    image1.canvas.fillrect(r);