delphi怎样清除canvas中已经绘制的作图
1个回答
2017-07-05 · 知道合伙人软件行家
关注
展开全部
在 delphi 中,清除canvas中已经绘制的作图,可以采用以下方法:
一、使用 canvas 所在控件提供的 repaint 方法
在 delphi 中,Form 等控件提供了 Repaint 方法,用于进行控件的重绘,如果在这些控件的 canvas 上绘图,则可以直接调用此方法,最为简便。
注意,此方法对于 TImage 等控件无效。
二、用 FillRect 函数进行覆盖式填充
在电脑屏幕中,清除 canvas 中已经绘制的作图,实际上就相当于用背景色(通常是白色)的画笔,在原图位置上重新绘制(覆盖式填充)。
提供实例代码供参考:
procedure TForm1.Button1Click(Sender: TObject);
var
posx,posy: integer;
begin
with Image1 do
begin
posx := Clientwidth div 2;
posy := Clientheight div 2;
Canvas.Pen.Color := clRed;
Canvas.Pen.Width := 4;
Canvas.Ellipse(posx-50,posy-50,posx+50,posy+50);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
with Image1.Canvas do
begin
Pen.Style := psSolid;
Pen.Color := clWhite;
FillRect(ClientRect);
end;
end;
代码运行截图:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询