Y ydejun Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-22 #5 关注。 我想除了bswilson的办法不会再有其它办法了。
H hukaijt Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-22 #6 你在画线前先把图片临时保存到内存里去,等需要清除的时候在把内存的 图片读出来,我做的时候就是这么做的,不知道还有什么好办法?
L li_cj Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-22 #7 关注: 我想做个动态时钟,可表针,不知道如何清除原来画的。
L LargeWang Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-22 #8 Pen.Mode := pmXor; 第二次画的时候就把原来的清除掉了。 还有问题联系:QQ:33728007
B bswilson Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-22 #9 其实办法都是人想的. 比如刚才在提到用反转色再画一条线的时候,可以将宽度改变,颜色用和背景一样的颜色, 如果背景是一个很花的图呢,将干脆将图片从新载一遍.速度应该没问题的,做动态时钟的 也一样.
C cook Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-23 #11 用异或方式花 第一次是画上去 第二次就清掉了 就是画上去的线仔细看起来各个地方的颜色是不一样的 还有就是你刷新以下窗口,lineto的线不会自动刷新 就不见了
P PFans Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-23 #12 先把上次画的线的颜色保存下来, 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;
先把上次画的线的颜色保存下来, 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;
A amakusa Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-28 #14 to hukaijt, 的方法 当画线区域存在背景图像时
H halps Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-13 #15 我做过类似的程序,你可以把表盘和表针分成两个过程,更新的时候先画表盘,然后 画指针。不过如果更新速度太快的话,图象会有闪动。