创建图形都是这样一个过程
1、程序surfer
2、文档(绘图或制表)
3、形状(因为所有的图形都在这个集合中)
一、绘制文本与符号
符号symbol是用来标记的,文本是来标注的。
Option Explicit Dim srf As New Surfer.Application Private Sub Command1_Click() Dim plot As Surfer.IPlotDocument Dim shapes As Surfer.IShapes Dim symbol As Surfer.ISymbol Dim text As Surfer.IText srf.Visible = True Set plot = srf.Documents.Add(srfDocPlot) '创建绘图文档 Set shapes = plot.shapes '指定绘图文档上的图形集合 Set symbol = shapes.AddSymbol(4, 5) Set text = shapes.AddText(x:=3, y:=3, text:="这是一个文本") End Sub
二、图层的叠加
shapes里面有很多图,每个图都是shape(比如,文本,符号、曲面图)
叠加默认操作对象是被选中的对象。
这个实例请参看5的例子
三、文档的编辑
这个修改实际上就是对相关图形的属性进行设置。
比如:等值线的线型、粗细、标注样式。
下面是零散的语句:
Set OverLay=map2.Overlays.Item(1) '取得叠加图形集合中第一个对象。其类型是shape
Set map=plot.overlay.item(2) '取得叠加集合中第二个
map.line.forecolor=srfcolorRed '设置其线色为红色
set Levels=overlay.Levels.AutoGenerate(MinLevel:=0,MaxLevel:=100,Interval:=10) '设置绘制范围与等值距离
Set Levels=OverLay.Levels.SetLabelFrequency(FirstIndex:=1,NumberToSet:=1,NumberToSkip:=3) '设置标注开始与间距
Set FontFormat=Text.Font
FontFormat.Face="Arial"
Set FontFormat.Size=30
四、SurferMap属性设置。
看一下曲面图的:
SurfaceMap.ShowBase=False '不显示底部
SurfaceMap.BaseFillColor=vbGreen '设置底部颜色为绿色
SurfaceMap.ShowColorScale=True ‘显示颜色比例尺
SurfaceMap.xMeshFreq=0 '设置X表面线的显示频率,0则每条全显示
SurfaceMap.yMeshFreq=2 '间隔2显示
五、MapFrame
控制光照、观察角度的属性
mapFrame.LightAzimuth=30 ‘光照水平角30
mapFrame.LightZenith=50 '光照垂直角50
mapFrame.LightModel=srfLMSmooth
MapFrame.ViewProjection=srfPerspective
mapFrame.VieFov=60
mapFrame.ViewRotation=120
mapFrame.ViewTilt=80
实际上就是设置这些东西。