ARCGIS PRO SDK 地图图层单一符号化_____面图层

一、CIMPolygonSymbol常用构造方法
      1、ConstructPolygonSymbol(CIMColor) 方法:
            构造特定颜色的面符号,简单单色填充
      2、ConstructPolygonSymbol(CIMColor,SimpleFillStyle) 方法:
            构造特定颜色和面的填充样式的符号
      3、ConstructPolygonSymbol(CIMColor,SimpleFillStyle,CIMStroke) 方法:
           构造特定颜色、填充样式和边线轮廓符号。

二、方法参数说明:CIMColor

1、CIMColor常用成员的列表:

分类 名字 描述
判断 AreEqual 确定两个 CIMColor 是否相等。
创建COLOR CreateCMYKColor 根据输入参数创建新的 CMYK 颜色。
CreateGrayColor 根据输入参数创建新的灰色。
CreateHSLColor 根据输入参数创建新的 HSL 颜色。
CreateHSVColor 根据输入参数创建新的 HSV 颜色。
CreateLABColor 根据输入参数创建新的 RGB 颜色。
CreateRGBColor 根据输入参数创建新的 RGB 颜色。
CreateSpotColor 根据输入参数创建专色。
CreateXYZColor 根据输入参数创建新的 XYZ 颜色。
NoColor 创建完全透明的颜色。
等于 Equals 重载。
颜色的 alpha GetAlphaValue 获取颜色的 alpha 值。
SetAlphaValue 设置颜色的 alpha 值。
颜色分量 GetColorComponent 获取指定索引处的颜色分量。
SetColorComponent 在指定的索引处设置颜色分量。
其他 GetColorObject 从 XML 字符串创建颜色对象。
GetHashCode 获取当前对象的哈希代码。
GetSchema 未实施,保留以备将来使用。
ReadXml 读取读取器中的元素。 
ToJson 创建 CIMObject 及其当前状态的 JSON 编码。
WriteXml 在编写器中写入元素。 

     ​​public static CIMColor CreateRGBColor( double r, double g, double b, double alpha )
     如:CIMColor.CreateRGBColor(0, 0, 0, trans)
2、使用颜色工厂ColorFactory类创建
     1)公共方法

名字 描述
ConstructColorRamp 重载。
ConvertToColorSpace 将指定的 CIMColor 转换为提供的颜色空间。必须在 MCT 上调用此方法。使用 QueuedTask.Run。
ConvertToHSV 将 CIMColor 颜色转换为 CIMHSVColor。必须在 MCT 上调用此方法。使用 QueuedTask.Run。
ConvertToRGB 将输入 CIMColor 转换为 CIMRGBColor。必须在 MCT 上调用此方法。使用 QueuedTask.Run。
CreateColor 创建指定的颜色。
CreateRGBColor 创建指定的颜色。
GenerateColorsFromColorRamp 从指定的色带生成 [count] 颜色列表。必须在 MCT 上调用此方法。使用 QueuedTask.Run。
GetColorRamp 获取指定名称的色带。必须在 MCT 上调用此方法。使用 QueuedTask.Run。
GetColorRampCategories 获取色带类别的列表。必须在 MCT 上调用此方法。使用 QueuedTask.Run。
GetColorRampNames 获取特定类别的色带名称列表。必须在 MCT 上调用此方法。使用 QueuedTask.Run。
ReverseColorRamp 反转色带。

2)属性

名字 描述
BlackRGB 获取黑色。
BlueRGB 获取蓝色。
GreenRGB 获取绿色。
GreyRGB 获取灰色。
Instance 获取 IColorFactory 实例
RedRGB 获取红色。
WhiteRGB 获取白色。

       如:ColorFactory.Instance.GreenRGB
二、面图填充样式:SimpleFillStyle
   c+:剖面填充,对角线间距均匀,呈 45° 角。

CIMPolygonSymbol polySym = SymbolFactory.Instance.ConstructPolygonSymbol(
    ColorFactory.Instance.RedRGB, SimpleFillStyle.ForwardDiagonal, outline);

  vb

Dim  polySym as CIMPolygonSymbol = SymbolFactory.Instance.ConstructPolygonSymbol(
    ColorFactory.Instance.RedRGB, SimpleFillStyle.ForwardDiagonal, outline)

                   SimpleFillStyle 枚举:

成员

描述
BackwardDiagonal 具有 -45° 角均匀分布的对角线的阴影填充。
Cross 具有均匀间隔的水平线和垂直线的阴影填充。
DiagonalCross 填充填充,具有均匀分布的对角线,以 90° 角相互交叉。
ForwardDiagonal 剖面填充,对角线间距均匀,呈 45° 角。
Horizontal 具有均匀间隔水平线的阴影填充。
Null 不绘制的空填充。
Solid 一种颜色的均匀纯色填充。
Vertical 具有均匀分布的垂直线的阴影填充。

CIMStroke:表示一个描边,该描边定义如何绘制线几何图形或多边形几何图形的轮廓。
三、构造面的蓝色边线符号:CIMStroke
   c+ :

CIMStroke outline = SymbolFactory.Instance.ConstructStroke(
    ColorFactory.Instance.BlueRGB, 2.0, SimpleLineStyle.DashDotDot);

  vb

Dim outline as CIMStroke = SymbolFactory.Instance.ConstructStroke(
    ColorFactory.Instance.BlueRGB, 2.0, SimpleLineStyle.DashDotDot)

四、面层单一符号渲染:无填充色,边线为红线、边线线宽为 1.5

c+:    需要使用QueuedTask.Run。

CIMSimpleRenderer currentRenderer  = pFeaturelayer.GetRenderer;
//获得层的渲染器
CIMStroke Outline  = SymbolFactory.Instance.ConstructStroke(ColorFactory.Instance.RedRGB, 1.0, SimpleLineStyle.Solid);
CIMPolygonSymbol symbolToPOL = SymbolFactory.Instance.ConstructPolygonSymbol(CIMColor.NoColor, SimpleFillStyle.Solid, Outline);
//更新当前简单渲染器的符号引用
currentRenderer.Symbol = symbolToPOL.MakeSymbolReference();
//更新要素图层渲染器
pFeaturelayer.SetRenderer(currentRenderer)

vb+:  需要使用QueuedTask.Run。

Dim currentRenderer As CIMSimpleRenderer = pFeaturelayer.GetRenderer                                 '获得层的渲染器
Dim Outline As CIMStroke = SymbolFactory.Instance.ConstructStroke(ColorFactory.Instance.RedRGB, 1.0, SimpleLineStyle.Solid)
Dim symbolToPOL As CIMPolygonSymbol = SymbolFactory.Instance.ConstructPolygonSymbol(CIMColor.NoColor, SimpleFillStyle.Solid, Outline)
'更新当前简单渲染器的符号引用
currentRenderer.Symbol = symbolToPOL.MakeSymbolReference()
'更新要素图层渲染器
pFeaturelayer.SetRenderer(currentRenderer)

你可能感兴趣的:(arcgis)