如何将我在Canvas中用LineTo画的线清除?(50分)

  • 主题发起人 主题发起人 autumn
  • 开始时间 开始时间
用反转色再画这样的一条直线?
 
那岂不是留下了痕迹?我想要得效果是像没有画过一样。
 
呵,不会的,你画的时间就用反转色嘛:)
 
关注。
我想除了bswilson的办法不会再有其它办法了。
 
你在画线前先把图片临时保存到内存里去,等需要清除的时候在把内存的
图片读出来,我做的时候就是这么做的,不知道还有什么好办法?
 
关注:
我想做个动态时钟,可表针,不知道如何清除原来画的。
 
Pen.Mode := pmXor;

第二次画的时候就把原来的清除掉了。

还有问题联系:QQ:33728007
 
其实办法都是人想的.
比如刚才在提到用反转色再画一条线的时候,可以将宽度改变,颜色用和背景一样的颜色,
如果背景是一个很花的图呢,将干脆将图片从新载一遍.速度应该没问题的,做动态时钟的
也一样.
 
没错,用largeWang的方法是比较正规的
 
用异或方式花
第一次是画上去
第二次就清掉了
就是画上去的线仔细看起来各个地方的颜色是不一样的
还有就是你刷新以下窗口,lineto的线不会自动刷新
就不见了
 
先把上次画的线的颜色保存下来,
var
FirstTime: Boolean; //把初值设为true;
begin
with Image1.Canvas do
begin
if not FirstTime then
begin
Pen.Color:=clWhite;
LineTo(x,y);
end
else
begin
FristTime:=false;
Pen.Color:=clBlack;
LineTo(x,y);
end;
end;
end;

 
to
hukaijt, 的方法
当画线区域存在背景图像时
 
我做过类似的程序,你可以把表盘和表针分成两个过程,更新的时候先画表盘,然后
画指针。不过如果更新速度太快的话,图象会有闪动。
 
同意LargeWang的方法
 
多人接受答案了。
 
后退
顶部