VB6.0如何实现像PS那样的多图层效果,是用多个picture控件叠加,还是在一个picture控件里面多长重画?
VB6.0如何实现像PS那样的多图层效果,是用多个picture控件叠加,还是在一个picture控件里面多长重画?
Public Type Layer name as String Show as boolean End Type Public Type Circ LayerID as integer ……' 圆形元素的基本参数 End Type Public Type Rect LayerID as integer ……' 圆形元素的基本参数 End Type '其他图形元素的结构体代码 Public Type Drawing Circles() as Circ Rects() as Rect …… '其他图形元素 End Type
Sub Form_load() Dim MyDrawing as Drawing ' 定义绘图中各种元素的代码,包括各元素所在的图层 Dim Layers() as Layer '定义图层信息,包括是否显示 End Sub Sub RefreshDrwaing() picturebox1.cls 清屏 For i= lbound(MyDrawing.Circles) to Ubound(MyDrawing.Circles) '遍历并绘制所有的圆 L_ID =MyDrawing.Circles(i).LayerID if Layers(L_ID).Show=True then ’绘制图形代码 else ’不绘制 End if nexi i '其他图形类似。 End Sub '剩下的就是在Timer或者复选框等控件事件中调用RefreshDrwaing