多层画图慢! Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiMultimedia/html/delphi_20060923101243299.html
用三层的IMAGE实现鼠标在一个扫描文本图上的手写笔功能,底层IMAGE显示扫描的文档图,中间IMAGE显示的是每个人作的批示的图,最上层IMAGE用来作当前进入的人的画板显示当前人的手写内容.
问题:第一次进入时,书写很流畅!但第二次再进入时,由二中间的层上有以前的书写内空,这时在最上层 写东西,会很慢,鼠标反应很慢!动的快,会出折线!!但在空白处画就又很快,
这是不是因为有中间的那个IMAGE的问题?请问怎么解决?(双缓冲已打开)
好像大家都很热衷于摆上好几层的Image……这已经是今天第三次遇到了。
建议是使用一个包含Bitmap的TObjectList保存各个图层的信息,这个是不可见的。然后使用PaintBox或者其他什么的作为绘板母体,然后把List中的各个Bitmap依次画上去就Ok了。
同意楼上的做法
一般情况下,所谓的图层并不是真正一层叠一层的。图层不过是图元的列表。图层不过决定了绘制的先后顺序,谁覆盖谁的问题。
要透过现象看本质。用三个IMAGE叠起来,想不慢都不行。
建议使用Imageen,支持layer
用三个IMAGE叠起来,想不慢都不行。
学习一下,三个图层怎么合并到一个图中?如果下次调出来怎么分解成三个图层?