PIE SDK矢量透明度标注控制

Posted piesat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PIE SDK矢量透明度标注控制相关的知识,希望对你有一定的参考价值。

 

1. 功能简介

    透明度和标注是矢量图层的相关属性;图层透明值是0-100间的整数,标注是显示在地图上的文字信息,它是出图中不可或缺的重要元素。标注的样式丰富,并且放置位置灵活。

2. 功能实现说明

2.1 实现思路及原理说明

矢量透明值

第一步

获取图层的Render

第二步

修改Render的透明值属性

第三步

触发渲染改变事件

矢量标注

第一步

设置图层显示标注属性为True

第二步

设置标注字段

第三步

触发渲染改变事件

2.2 核心接口与方法

矢量透明值

接口/类

方法

说明

Carto. IFeatureRender

Transparency

透明值,0~100之间整数

矢量标注

 

Carto. IFeatureLayer

DisplayAnnotation

图层是否显示注记

AnnoProperties

图层注记属性

2.3 示例代码

项目路径

百度云盘地址下/PIE示例程序/07图层渲染/05.矢量透明和标注

数据路径

百度云盘地址下/PIE示例数据/矢量数据/Shape

视频路径

百度云盘地址下/PIE视频教程/07图层渲染/05.矢量透明和标注.avi

示例代码

技术分享图片
 1 方法(一)
 2     if (mapControlMain.ActiveView.CurrentLayer == null) return;
 3     IFeatureLayer featureLayer = mapControlMain.ActiveView.CurrentLayer as IFeatureLayer;
 4     if (featureLayer == null) return;
 5     FormTransparent frm = new FormTransparent(featureLayer);//通过窗体去设置透明值和标注字段
 6     frm.ShowDialog();
 7     if (frm.DialogResult == DialogResult.OK)
 8     {
 9         //设置透明度
10         int value=frm.TransparentValue;//透明值
11         string fieldName=frm.FieldName;//标注字段
12 
13         //*******透明值设置********
14         //透明值,0-100间的整数
15         if (value > 100 || value < 0)
16             return;
17         if (featureLayer.Render == null)
18             return;
19         //设置透明值
20         featureLayer.Render.Transparency = value;
21                
22         //*******标注设置********
23         //判断是否为空、是否包含该字段
24         if (fieldName == "" || featureLayer.FeatureClass.GetFields().GetFieldIndex(fieldName) == -1)
25             return;
26         //是否显示标注
27         if (!featureLayer.DisplayAnnotation)
28         {
29             featureLayer.DisplayAnnotation = true;
30         }
31         featureLayer.AnnoProperties.AnnoField = fieldName;
32         featureLayer.RaiseRenderChanged();     mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
33     } 
View Code

2.4 例截图

技术分享图片

技术分享图片

以上是关于PIE SDK矢量透明度标注控制的主要内容,如果未能解决你的问题,请参考以下文章

PIE SDK内存矢量数据的创建

PIE SDK的矢量裁剪矢量文件的Algo

PIE SDK矢量数据项查看

PIE SDK打开自定义矢量数据

PIE SDK矢量自定义渲染

PIE-Basic 矢量编辑