ArcEngine实现扯旗标注

       ArcEngine实现类似CAD中的扯旗标注,其实就是给textElemen的样式赋一个背景。ILineCallout可以实现扯旗效果。

            //创建背景

            IRgbColor pRgbClr = new RgbColorClass();
            pRgbClr.Red = 0;
            pRgbClr.Blue = 0;
            pRgbClr.Green = 0;

            ISimpleLineSymbol ldrLine = new SimpleLineSymbol();
            ldrLine.Color = pRgbClr;
            ldrLine.Width = 1;

            ISimpleLineSymbol accentBar = new SimpleLineSymbol();
            accentBar.Color = pRgbClr;

            ILineCallout lineCallout = new LineCallout();
            lineCallout.Style = esriLineCalloutStyle.esriLCSUnderline;//底下的下划线
            lineCallout.Border = null;
            lineCallout.AccentBar = accentBar; //左边的竖直线
            lineCallout.LeaderLine = ldrLine;   //牵引线

            IPoint pPoint = new ESRI.ArcGIS.Geometry.PointClass();
            pPoint.X = x;
            pPoint.Y = y;
            lineCallout.AnchorPoint = pPoint;

 

            //创建文字标注

            IFormattedTextSymbol pTextSymbol = new TextSymbolClass();
            ILineCallout lineCallout = CreateLineCallout(x, y);
            pTextSymbol.Color = color;
            pTextSymbol.Size = 10;
            ITextBackground pTextBackground = lineCallout as ITextBackground;
            pTextSymbol.Background = pTextBackground; //赋背景
            pTextSymbol.HorizontalAlignment = esriTextHorizontalAlignment.esriTHALeft;
            ITextElement textElement = pTElement as ITextElement;
            textElement.Symbol = pTextSymbol;

 

           下面是效果:

           


 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值