ArcEngine 画图
方法一:
private void DrawMapShape(IGeometry geometry)
{
ISimpleFillSymbol simpleFillSymbol;
simpleFillSymbol = new SimpleFillSymbolClass();
simpleFillSymbol.Style = esriSimpleFillStyle.esriSFSNull;
IRgbColor color = new RgbColorClass();
color.Green = 137;
color.Blue = 209;
ILineSymbol line = new SimpleLineSymbolClass();
line.Color = color;
line.Width = 3;
simpleFillSymbol.Outline = line;
object symbol = simpleFillSymbol;
base.m_pMapCtrl.DrawShape(geometry, ref symbol);
}
方法二:
private void AddElement(IGeometry geometry)
{
IPolygonElement polygonElement;
polygonElement = new PolygonElementClass();
IElement element;
element = polygonElement as IElement;
element.Geometry = geometry;
IGraphicsContainer graphicsContainer = base.m_pMapCtrl.Map as IGraphicsContainer;
graphicsContainer.AddElement((IElement)polygonElement, 0);
base.m_pMapCtrl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
}
方法三:
private void DrawEnvelope(IEnvelope newEnvelope)
{
short cacheID = base.m_pMapCtrl.ActiveView.ScreenDisplay.AddCache();
ISimpleFillSymbol fillSymbol = new SimpleFillSymbolClass();
IRgbColor rgbColor = new RgbColorClass();
rgbColor.Red = 255;
fillSymbol.Color = rgbColor;
base.m_pMapCtrl.ActiveView.ScreenDisplay.StartDrawing(base.m_pMapCtrl.ActiveView.ScreenDisplay.hDC, cacheID);
base.m_pMapCtrl.ActiveView.ScreenDisplay.SetSymbol((ISymbol)fillSymbol);
base.m_pMapCtrl.ActiveView.ScreenDisplay.DrawRectangle(newEnvelope);
base.m_pMapCtrl.ActiveView.ScreenDisplay.FinishDrawing();
}
转载自:https://blog.csdn.net/huronzhu/article/details/25378891