透明度和標註是矢量圖層的相關屬性;圖層透明值是0-100間的整數,標註是顯示在地圖上的文字信息,它是出圖中不可或缺的重要元素。標註的樣式豐富,而且放置位置靈活。ide
矢量透明值spa |
|
第一步code |
獲取圖層的Renderorm |
第二步視頻 |
修改Render的透明值屬性blog |
第三步教程 |
觸發渲染改變事件接口 |
矢量標註事件 |
|
第一步ci |
設置圖層顯示標註屬性爲True |
第二步 |
設置標註字段 |
第三步 |
觸發渲染改變事件 |
矢量透明值 |
||
接口/類 |
方法 |
說明 |
Carto. IFeatureRender |
Transparency |
透明值,0~100之間整數 |
矢量標註 |
||
Carto. IFeatureLayer |
DisplayAnnotation |
圖層是否顯示註記 |
AnnoProperties |
圖層註記屬性 |
項目路徑 |
百度雲盤地址下/PIE示例程序/07圖層渲染/05.矢量透明和標註 |
數據路徑 |
百度雲盤地址下/PIE示例數據/矢量數據/Shape/省級行政區.shp |
視頻路徑 |
百度雲盤地址下/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 } |