图层标注(C#)

       /// <summary>
        
/// (重载)图层标注
        
/// </summary>
        
/// <param name="pFeaturelayer">标注图层</param>
        
/// <param name="sLableField">标注字段</param>
        
/// <param name="pRGB">颜色</param>
        
/// <param name="size">大小</param>
        public static void FunLabelFeatureLayer(IFeatureLayer pFeaturelayer, string sLableField, IRgbColor pRGB, int size)
        {
            
if (pFeaturelayer == null)
                
return;
            IGeoFeatureLayer pGeoFeaturelayer 
= (IGeoFeatureLayer)pFeaturelayer;
            IAnnotateLayerPropertiesCollection pAnnoLayerPropsCollection;
            pAnnoLayerPropsCollection 
= pGeoFeaturelayer.AnnotationProperties;
            pAnnoLayerPropsCollection.Clear();

            
//stdole.IFontDisp  pFont; //字体
            ITextSymbol pTextSymbol;

            
//pFont.Name = "新宋体";
            
//pFont.Size = 9;
            if (pRGB == null)
            {
                pRGB 
= new RgbColorClass();
                pRGB.Red 
= 0;
                pRGB.Green 
= 0;
                pRGB.Blue 
= 0;
            }

            pTextSymbol 
= new TextSymbolClass();
            pTextSymbol.Color 
= (IColor)pRGB;
            pTextSymbol.Size 
= size;

            IBasicOverposterLayerProperties pBasicOverposterlayerProps 
= new BasicOverposterLayerPropertiesClass();
            
switch (pFeaturelayer.FeatureClass.ShapeType)
            {
                
case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolygon:
                    pBasicOverposterlayerProps.FeatureType 
= esriBasicOverposterFeatureType.esriOverposterPolygon;
                    
break;
                
case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPoint:
                    pBasicOverposterlayerProps.FeatureType 
= esriBasicOverposterFeatureType.esriOverposterPoint;
                    
break;
                
case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolyline:
                    pBasicOverposterlayerProps.FeatureType 
= esriBasicOverposterFeatureType.esriOverposterPolyline;
                    
break;
            }

            ILabelEngineLayerProperties pLabelEnginelayerProps 
= new LabelEngineLayerPropertiesClass();
            pLabelEnginelayerProps.Expression 
= "[" + sLableField + "]";
            pLabelEnginelayerProps.Symbol 
= pTextSymbol;
            pLabelEnginelayerProps.BasicOverposterLayerProperties 
= pBasicOverposterlayerProps;

            pAnnoLayerPropsCollection.Add((IAnnotateLayerProperties)pLabelEnginelayerProps);
            pGeoFeaturelayer.DisplayAnnotation 
= true;
            
//axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewBackground, null, null);
        }

转载于:https://www.cnblogs.com/JinDin/archive/2008/08/28/1278937.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值