怎样擦除在Canvas上画出的某个图形,并恢复显示原来被该图形遮住的其他图形?sorry,I have only 75 points(75分)

  • 主题发起人 主题发起人 zzzh
  • 开始时间 开始时间
Z

zzzh

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠好!

我的问题是,怎样擦除在Canvas上画出的某个图形,并恢复显示原来被该图形遮住的其他图形?
或者,怎样将用CopyRect复制过来的图形擦除,也要求恢复显示原来被该图形遮住的其他图形?


另外,我想感谢Bacchus和其他朋友们对我关于:"怎样将图形画在网格交叉点上?"问题的回复。
Bacchus, 如能收到您的程序代码,我将不胜荣幸。并望告知您的Email地址。





礼!

zzzh
wxzhuhua@wx88.net
 
要么使用异或方式画图,要么记录所有图形然后重画!
 
只能这么办了……
 
新建一个Image,就像一个新的图层一样,把它的transparent属性设为true,
也就是透明,这样就不会影响到下面的图形
 
必须先把原来的图形记录起来,要画的时候用brush把canva擦除重画
 
像游戏一样,试试双缓冲
 

只能先把图像保存起来的吧,TCanvas难道会有记忆功能?
 
可以考虑一下分层技术
 
这好像不大可能
 
内建一个TBitmap把原图像记录下来,当需要的时候把图像再恢复过来
 
同意大家的意见
要么新建一个TImage,设其为透明 把COPYRECT的图画到这儿
要么想法保存将被COOPYRECT覆盖区域的象素值,你可以把他存到2维数组中 到时候再重画
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
851
DelphiTeacher的专栏
D
后退
顶部