文档介绍:Symbolizing elements and layers(I)
Lesson overview
总体介绍符号化对象(symbology objects)
符号对象Symbol objects
颜色对象Color objects
颜色梯度对象Color ramps
为地图添加一个简单的图形(graphics)
使用特征渲染对象修改图层显示方式(FeatureRenderers)
使用图层文件(*.lyr)来管理图层的符号化
2
Symbol类的子类
* Several additional types of symbols are listed on the Display OMD, including TextSymbols
*
3
以下五种可创建的对象
RgbColor(红、绿、蓝)
CmykColor(青、洋红、黄、黑)
HsvColor(色调、饱和度、值)
HlsColor(色调、亮度、饱和度)
GrayColor(灰度)
用来定义颜色对象的属性
Red, Green, Blue values (0–255)
灰度(0=white – 255=black)
Cyan, Magenta, Yellow, Black
使用Color对象来访问一个Symbol对象的Color属性
使用color对象
4
颜色梯度对象ColorRamps
四种可以创建的对象
Algorithmic ColorRamp(算法颜色梯度)
Random ColorRamp(随机颜色梯度)
Preset ColorRamp(预定义颜色梯度)
MultiPart ColorRamp(多部分的颜色梯度)
5
创建一个新的 Randomcolorramp对象
Public Function GetRandomRamp (NumColors As Integer) As IEnumColors
Dim pRandomColorRamp As IColorRamp
Set pRandomColorRamp = New RandomColorRamp
= NumColors ' *Passed into the function
Dim blnOK As Boolean
blnOK '* Make it so!
If Not blnOK Then Exit Function '* Exit if there was an error
Set GetRandomRamp = pRandomColorRamp '*Pass back the ramp
End Function
。是一个枚举对象。
6
创建简单的图形元素( graphic elements)
有一些可以创建的对象
图形元素的种类
Line, polygon, marker
Text and pictures
框架元素(FrameElements )
在PageLayout上使用
Map frames
North arrows, legends, scale bars
Table frames
7
例子: 创建一个新的图形元素并设置它的符号
Dim pMarkerElem As IMarkerElement
Set pMarkerElem = New MarkerElement ‘创建一个新的元素
Dim pMarkerSym As ISimpleMarkerSymbol
Set pMarkerSym = New SimpleMarkerSymbol ‘创建新符号
= esriSMSCircle ‘指定符号的风格
Dim pColor As IRgbColor
Set pColor = New RgbColor ‘创建一个新颜色
= RGB(255,0,0) ‘设置成红色
= pColor ‘把颜色赋给符号
= pMarkerSym ‘把符号赋给元素
8
定义一个元素的位置
使用IElement 的 Geometry属性
被所有Element的子类所支持
在地图(Map)或布局(layout page)上定位
定位可以指定为 point, line, envelope等
Dim pElem As IElement
Set pElem = pMarkerElem 'QI
Dim pPoint As IPoint