我正在做一个画图的程序,用了image.canvas,
请问,我要怎么清空已经画过了的canvas.
我的意思是当我想重新画的时候,我要先把以前画的东西删掉,不然,新画的东西就重在以前的上边了。怎么做呢?

解决方案 »

  1.   

    canvas的FillRect(const Rect: TRect)
      

  2.   

    没有了:)
    image1.Canvas.Brush.Color:=image1.Parent.Brush.Color;
    image1.Canvas.FillRect(Rect);
      

  3.   

    你可以用一个白色的巨形去填充该canvas
      

  4.   

    procedure TForm1.DrawGrid1DrawCell(Sender: TObject; Col, Row: Longint; Rect: TRect; State: TGridDrawState);var
      index: integer;
    begin
      index := Row * DrawGrid1.ColCount + Col;
      with Sender as TDrawGrid do
      begin
        Canvas.Brush.Color := clBackGround;
        Canvas.FillRect(Rect);
        ImageList1.Draw(Canvas,Rect.Left,Rect.Top,index);
        if gdFocused in State then
          Canvas.DrawFocusRect(Rect);
      end;end;