重画如何提高速度 ( 积分: 50 )

  • 主题发起人 主题发起人 huiqilin
  • 开始时间 开始时间
H

huiqilin

Unregistered / Unconfirmed
GUEST, unregistred user!
在image2上移动鼠标,实际在image1上画画,同时鼠标移动时把image1
重画到image2上,而image2可以放大显示,当把image2放大时多倍时
在配置不高的机器上,重画就显示效果很慢,但为何我开几个DELPHI有是这样的显示效果
就快,为何??开了几个DELPHI就会重画的速度加快了???请帮忙?
 
在image2上移动鼠标,实际在image1上画画,同时鼠标移动时把image1
重画到image2上,而image2可以放大显示,当把image2放大时多倍时
在配置不高的机器上,重画就显示效果很慢,但为何我开几个DELPHI有是这样的显示效果
就快,为何??开了几个DELPHI就会重画的速度加快了???请帮忙?
 
你是说闪烁的问题吧,速度不快是因为你没在内存中重绘,而且没开双缓冲。
如果image1是不显示的,建议换为TBitmap,图像在TBitmap上画好,再绘到image2上,
而且,一定要加form1.DoubleBuffered:=true;到onCreate里,情况会有些好转的
 
你说的我有用,不是闪烁的问题
问题是我image2 是用来显示看到,而image1是保存实际的图形
我用image2 做放大那么画图就有一格一格的效果

原理是这样的:
image2的鼠标事件连同image1的鼠标事件
单鼠标在image2上移动或画图时,实际我是在image1上已经画图了
在此同时,我的鼠标在image2上移动或画图是,就把image1的图形重画到image2上
为何要这样做了,因为我向image2可以是一个显示放大image1 几倍的图形,然后我在image2
上再添加格子,看是去就好想windows的附件的'画图'工具的显示格子功能差不多
但发现放大几倍后运行速度就很慢了,??
 
你是想实现鹰眼图吧,正在研究,给你推荐个代码

http://playicq.cn/1/11320.html
yysun大虾的经典书籍附书的代码
 

Similar threads

D
回复
0
查看
826
DelphiTeacher的专栏
D
D
回复
0
查看
771
DelphiTeacher的专栏
D
D
回复
0
查看
720
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部