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();
}


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值