指定一个字段,该字段为数值型字段,控制文字颜色。该属性值指定后,标签的文字颜色将从对应记录的该字段值中读取。

命名空间:  SuperMap.Mapping
程序集:  SuperMap.Mapping (in SuperMap.Mapping)
版本: dll

语法

C#
public string LabelColorExpression { get; set; }

备注

通过指定字段的方式控制标签的字体、文字大小、文字旋转角度、文字颜色、标签偏移量,只对点标签专题图有效。

注:如果字段值为无值,将按照当前标签专题图所设置的字体颜色的具体数值进行显示,如:ThemeLabel.UniformStyle.ForeColor属性值。

颜色值支持十六进制表达下为0xRRGGBB,即按照RGB排列。

该属性设置实现了标签专题图自定义功能,此外,还可以通过指定字段的方式控制标签的字体、文字旋转角度、字体大小、标签偏移量。如果标签的某些风格没有通过指定字段的方式设置,风格仍使用ThemeLabel.UniformStyle或者ThemeLabel.UniformMixedStyle对于风格的设置结果。

使用字段控制标签文本的风格,对于字段的类型或者字段值的内容有如下要求,您需要保证数据符合如下所述的字段要求才能获得正确的显示效果。

1. 字体名称(LabelFontTypeExpression):字段类型为可以存储文本信息的类型即可,如:文本型,字段值为字体名称,如:微软雅黑、宋体、黑体,对应记录中的标注文本将以指定的字体进行显示,如果指定的字体在系统中不存在,将按照专题图风格设置中的字体统一显示。字体名称(字段值)如何书写,就是桌面中文字风格中,“字体名称”后面的字体名称内容,如下图所示。

2. 文字大小(LabelSizeExpression):字段类型为数值类型,字段值为文字字高,数值单位为毫米。

3. 文字颜色(LabelColorExpression):字段类型为数值类型。颜色值在十六进制表达下为0xRRGGBB,即按照RGB排列。颜色值的获取:在颜色面板中选择需要的颜色,如下图所示,就是颜色的16进制值,将数值的后六位,粘贴到计算机的十六进制数值模式下,然后,再切换到十进制,这个值就可以写到属性表中了。

4. 文字旋转角度(LabelAngleExpression):字段类型为数值类型,字段值为字体的旋转角度,数值单位为度。角度旋转以逆时针方向为正方向,对应数值为正值;角度值支持负值,表示沿顺时针方向旋转。

5. 标签偏移(ExplodeXExpression、ExplodeYExpression):字段类型为数值类型,字段值表示偏移距离,单位为地理坐标或者逻辑坐标(0.1毫米),具体由如下图所示的“偏移量单位”的设置结果决定。标签偏移效果由偏移量(X、Y方向)以及文本对齐方式共同决定,偏移设置需要提供水平(X)、垂直(Y)偏移量。对于偏移可以使用地理坐标或者逻辑坐标。

6. 关于标签旋转角度和偏移,如果两者同时设置后,先对标签进行角度旋转,再进行偏移。

如下图所示,为本示例对于数据处理后的属性表结构和内容的截图,以及通过该数据控制点标签专题图显示风格的效果图。

示例

使用字段控制标签专题图的文本风格的代码实现如下所示,以下示例基于一个点数据集制作标签专题图,点数据集对象为ptDataset,并且该数据集已经具有符合要求的风格字段。
CopyC#
//1. 新建一个标签专题图对象,用于制作示例中的点标签专题图。
ThemeLabel themeLabel = new ThemeLabel();
//2. 设置用于标注的字段。
themeLabel.LabelExpression = "ZJNR";
//3. 设置标签文本的对齐方式为中心点对齐。
themeLabel. UniformStyle. Alignment= TextAlignment. MiddleCenter;
//4. 指定一个字段,该字段值为字体名称用来控制标签文字的字体。
themeLabel.LabelFontTypeExpression = "Font";
//5. 指定一个字段,该字段值为字高,用来控制标签文字的大小。
themeLabel.LabelSizeExpression = "FontSize";
//6. 指定一个字段,该字段值为颜色值,用来控制标签文字的颜色。
themeLabel.LabelColorExpression = " FontColor";
//7. 指定一个字段,该字段值为旋转角度值,用来控制标签文字的旋转。
themeLabel.LabelAngleExpression = "FontAngle";
//8. 指定一个字段,该字段值为偏移距离,用来控制标签文字在水平方向的偏移量。
themeLabel.ExplodeXExpression = "OffsetX";
//9. 指定一个字段,该字段值为偏移距离,用来控制标签文字在垂直方向的偏移量。
themeLabel.ExplodeYExpression = "OffsetY";

//10. 将自定义标签专题图风格应用到示例中的点数据集,并添加到地图窗口中。
Layer layerTheme = mapControl.Map.Layers.Add(ptDataset, themeLabel, true);

版本信息

SuperMap iObjects .NET


请参见