Graphics32控件包中,图层的实现? 多谢! ( 积分: 100 )

  • 主题发起人 主题发起人 rzxiaojun
  • 开始时间 开始时间
R

rzxiaojun

Unregistered / Unconfirmed
GUEST, unregistred user!
用Graphics32控件包里的TImgView32组件,如何在图像上创建图层:要求如下
1.能显示或隐藏图层
2.在创建的图层上,如此制定的文字
 
Graphics32 的图层实现的原理很简单,但为做到自由缩放和焦点,作者化了不少心血。

仅图层的实现来说,实际上就是对主层上更多的层进行List保存,List的每个节点都保存
这一个图层的信息。但这样做显然是不够的,主要需要解决二个问题:问题1.仅用List保
存,那么顺序如何读取?如果不处理顺序,图层就变得仅能依据List的顺序,稍好一点,
顺序信息也成为图层信息的一部分,每次重绘的时候,检索各个层的顺序信息,依次显示
他们,但这将变得很死,动态调整各层的次序就是问题1要解决的问题。问题2.每个图层都
有大小,在载入图层前,除了图片本身的大小外,没法确定显示尺寸,要达到良好的效果,
问题2需要解决动态图层大小的调整。这就是 G32 代码中做的工作。

理解了 G32 代码的流程和实现,就可以解决您的问题,也就是说,针对第一个问题,无非
就是对载入的层增加是否可见标志,对于第二个问题,无非就是检索到是对哪个层上的图片
进行操作,和如何换算显示位置中,字符插入点与实际图片的位置。
 
Graphics32有例程要实现图层文字你可以用Graphics32的图层补充单元GR32_ExtLayers网上下
 

Similar threads

D
回复
0
查看
764
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部