且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ArcGIS Engine 中 线加箭头

更新时间:2022-09-10 14:47:34

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, null, null);
}



本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/p/4363224.html,如需转载请自行联系原作者