ArcGIS Engine 中 线加箭头


         void AddArrowElement(IGeometry pGeometry, IActiveView pActiveView)
        {
            IRgbColor pColor =  new RgbColorClass();
            pColor.Red =  255;

            ICartographicLineSymbol pCartoLineSymbol =  new CartographicLineSymbolClass();
            pCartoLineSymbol.Cap = esriLineCapStyle.esriLCSRound;

            ILineProperties pLineProp = pCartoLineSymbol  as ILineProperties;
            pLineProp.DecorationOnTop =  true;

            ILineDecoration pLineDecoration =  new LineDecorationClass();
            ISimpleLineDecorationElement pSimpleLineDecoElem =  new SimpleLineDecorationElementClass();
            pSimpleLineDecoElem.AddPosition( 1);
            IArrowMarkerSymbol pArrowMarkerSym =  new ArrowMarkerSymbolClass();
            pArrowMarkerSym.Size =  8;
            pArrowMarkerSym.Color = pColor;
            pSimpleLineDecoElem.MarkerSymbol = pArrowMarkerSym  as IMarkerSymbol;
            pLineDecoration.AddElement(pSimpleLineDecoElem  as ILineDecorationElement);
            pLineProp.LineDecoration = pLineDecoration;

            ILineSymbol pLineSymbol = pCartoLineSymbol  as ILineSymbol;

            pLineSymbol.Color = pColor;
            pLineSymbol.Width =  1;

            ILineElement pLineElem =  new LineElementClass();
            pLineElem.Symbol = pLineSymbol;
            IElement pElem = pLineElem  as IElement;
            pElem.Geometry = pGeometry;

            IGraphicsContainer pGraphicsContainer = mCtrl.Map  as IGraphicsContainer;
            pGraphicsContainer.AddElement(pElem,  0);

            mCtrl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics,  nullnull);
        }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM