抱歉,没有看完问题就回到了- -b
实现的方法其实更简单: 在图片上方放一个TPaintBox然后在PaintBox上绘制直线。然后将TPaintBox移除就可以了。但是要注意不要再图片的Canvas上绘制。因为一旦绘制到图片上。就无法移除了。
代码:
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
PaintBox1.canvas.Pen.Color := clblue;
PaintBox1.canvas.Pen.Width := 3;
PaintBox1.canvas.MoveTo(0,0);
PaintBox1.canvas.LineTo(100,100);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//直接移除TPaintBox
Timer1.Enabled := False; PaintBox1.Free;
end;
清除的话,可以用背景色填充画布就可以了,windows 的画图就是这样处理的。。
相同的线,画两次,一次有颜色,另一次颜色跟背景色一致,就消失了
早上不是解答了吗?