|
在地图上画出的箭头如下图,请问要怎么改?
代码为:
public static void AddArrowElement()
{
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.Style = esriArrowMarkerStyle.esriAMSPlain;
pArrowMarkerSym.Size = 40;
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 = 5;
ILineElement pLineElem = new LineElementClass();
pLineElem.Symbol = pLineSymbol;
IElement pElem = pLineElem as IElement;
IRubberBand pRubberBand;
pRubberBand = new RubberLineClass();
IPolyline pLine;
pLine = pRubberBand.TrackNew(MainWindow.MainWindowObject.axMapControl.ActiveView.ScreenDisplay, null) as IPolyline;
pElem.Geometry = pLine;
IGraphicsContainer pGraphicsContainer;
pGraphicsContainer = MainWindow.MainWindowObject.axMapControl.ActiveView as IGraphicsContainer; //把地图的当前view作为图片的容器
pGraphicsContainer.AddElement(pElem, 0);//把刚刚的element转到容器上
MainWindow.MainWindowObject.axMapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
}
|
|