您的位置:首页 > 其它

渲染标签文字(光晕效果)

2008-05-10 00:27 176 查看
[转载]渲染标签文字(光晕效果)
/// <summary>

/// 渲染标签文字

/// </summary>

/// <param name="geoLayer"></param>

/// <param name="field"></param>

public static void RenderLabel(IGeoFeatureLayer geoLayer,string field)

{

IMultiLayerFillSymbol marker = new MultiLayerFillSymbolClass();

ISimpleFillSymbol fill = new SimpleFillSymbolClass();

ISimpleLineSymbol line = new SimpleLineSymbolClass();

line.Width = 0.5;

line.Color = Converter.ToRGBColor(Color.White) as IColor;

fill.Style = esriSimpleFillStyle.esriSFSSolid;

fill.Color = Converter.ToRGBColor(Color.White);

marker.AddLayer(fill as IFillSymbol);

marker.Outline = line as ILineSymbol;

ITextSymbol symbol = new TextSymbolClass();

symbol.Size = 10;

IMask mask = symbol as IMask;

mask.MaskSymbol = marker as IFillSymbol;

mask.MaskStyle = esriMaskStyle.esriMSHalo;

mask.MaskSize = 1;

IAnnotateLayerPropertiesCollection annoCollection = geoLayer.AnnotationProperties;

annoCollection.Clear();

ILabelEngineLayerProperties lblPro = new LabelEngineLayerPropertiesClass();

lblPro.Expression = string.Format("[{0}]", field);

lblPro.Symbol = mask as ITextSymbol;

IAnnotateLayerProperties alp = (IAnnotateLayerProperties)lblPro;

annoCollection.Add(alp);

geoLayer.DisplayAnnotation = true;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: