Image1.Canvas.TextOut(0, 0,  'aaaaa');
以后,如何把画布内容清空

解决方案 »

  1.   

    Image1.Canvas.TextOut(0, 0,  'aaaaa');清空:
      Image1.Canvas.Font.Color := Image1.Canvas.Brush.Color;
      Image1.Canvas.TextOut(0,0,'aaaaa');
      

  2.   

    image1.Canvas.Brush.Color:=clBlack;
      image1.Canvas.Rectangle(x1,y1,x2,y2);
      image1.Canvas.Pen.Color:=clRed;
      image1.Canvas.TextOut(x3,y3,'1');
      

  3.   

    那么我来抢几分:在
      image1.Canvas.Brush.Color:=clBlack;
      image1.Canvas.Rectangle(x1,y1,x2,y2);
      image1.Canvas.Pen.Color:=clRed;
      image1.Canvas.TextOut(x3,y3,'1');之前,必须设定  image1.Canvas.Brush.style:=bsSolid;否则不能肯定是填充或均匀填充.
      

  4.   

    用透明色擦掉原来的(设计时Image的brush的颜色即透明色)即可 
     with Image1 do
        begin
          Canvas.Brush.Color := TransColor;
          Canvas.FillRect( Rect( 0, 0, Width, Height ) ); //用透明色擦掉原来的
          ...
       end;
      

  5.   

    画布内容全清
    必须Image1.Canvas.Brush.Style := bsSolid;var
      RC: TRect;
    begin
      GetClipBox(Image1.Canvas.Handle, RC);
      InvalidateRect(Image1.Canvas.Handle, @RC, True);
      Image1.Canvas.FillRect(RC);如果只请局部
    RC的Top、Left、Bottom、Right就要赋值,并且不要 GetClipBox(Image1.Canvas.Handle, RC); 这句
      

  6.   

    画布内容全清
    必须Image1.Canvas.Brush.Style := bsSolid;var
      RC: TRect;
    begin
      GetClipBox(Image1.Canvas.Handle, RC);
      InvalidateRect(Image1.Canvas.Handle, @RC, True);
      Image1.Canvas.FillRect(RC);如果只请局部
    RC的Top、Left、Bottom、Right就要赋值,并且不要 GetClipBox(Image1.Canvas.Handle, RC); 这句不错,高手。
      

  7.   

    清空只需要这一句即可:
    Canvas.FillRect(Image1.ClientRect);