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

发布时间:2024年01月16日

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

二、方法参数说明:CIMColor

1、CIMColor常用成员的列表:

分类名字描述
判断AreEqual确定两个?CIMColor?是否相等。
创建COLORCreateCMYKColor根据输入参数创建新的 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)

文章来源:https://blog.csdn.net/xa13850869/article/details/135606047
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。