• ArcGIS Engine 线段绘制研究


    //ArcGIS Engine 线段绘制研究
    //基本步骤
    //构建形状
    //创建 IPoint
    IPoint m_Point = new PointClass();
    m_Point.PutCoords(x, y);
    
    //创建 IPointCollection
    IPointCollection m_PointCollection = new PolylineClass();
    m_PointCollection.AddPoint(m_Point, ref Type.Missing, ref Type.Missing);
    
    //创建 IPolyline
    IPolyline m_Polyline = new PolylineClass();
    m_Polyline = m_PointCollection as IPolyline;
    
    //创建 IElement
    // Element 不能实例化,需要用其派生类实例化
    IElement m_Element = m_SimpleLineSymbol as IElement;
    m_Element.Geometry = m_Polyline;
    
    //设置形状样式
    //创建 ISimpleLineSymbol
    ISimpleLineSymbol m_SimpleLineSymbol = new SimpleLineSymbolClass();
    
    //创建 ILineElement
    ILineElement m_LineElement = new LineElementClass();
    m_LineElement.Symbol = m_SimpleLineSymbol;
    
    //加载到地图
    IMap m_Map = axMapControl1.Map;
    IActiveView m_ActiveView = m_Map as IActiveView;
    IGraphicsContainer m_Container = m_Map as IGraphicsContainer;
    m_Container.AddElement(m_Element, 0);
    m_Active.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
    
    private void DrawLine()  
            {  
                ILineElement pLineElement;  
                IElement pLElement;  
      
                IPolyline pLine;  
      
                RgbColor pColor = new RgbColor();  
                pColor.Red = 0;  
                pColor.Green = 0;  
                pColor.Blue = 255;  
                  
                ISimpleLineSymbol pSimpleLineSymbol = new SimpleLineSymbolClass();  
                pSimpleLineSymbol.Color = pColor;  
                pSimpleLineSymbol.Width = 5;  
      
                pLineElement = new LineElementClass();  
                pLineElement.Symbol = pSimpleLineSymbol;  
      
                pLElement = pLineElement as IElement;  
      
                IRubberBand pRubberBand;  
                pRubberBand = new RubberLineClass();  
                pLine = pRubberBand.TrackNew(axMapControl1.ActiveView.ScreenDisplay, null) as IPolyline;  
      
                pLElement.Geometry = pLine;  
      
                IGraphicsContainer pGraphicsContainer;  
                pGraphicsContainer = axMapControl1.ActiveView as IGraphicsContainer;//把地图的当前view作为图片的容器  
                  
                pGraphicsContainer.AddElement(pLElement, 0);//把刚刚的element转到容器上  
                axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);  
            }  
  • 相关阅读:
    CF219D
    HDU 4259 Double Dealing 数学题
    HDU1599 find the mincost route 最小环
    HDU3592 World Exhibition 排队判断3种情况
    POJ3694 Network 加边查询剩余桥的个数
    Flex 如何获得Tree 拖动节点的起始位置
    wcf webconfig配置
    学JS面向对象 以及里面的继承
    sqlserver 几种查询耗时
    ubuntu更改文件夹属性
  • 原文地址:https://www.cnblogs.com/devgis/p/16366153.html
Copyright © 2020-2023  润新知