zoukankan      html  css  js  c++  java
  • arcengine 跨屏幕画多边并计算面积

      //Color函数
            private IRgbColor GetRGBColor(int red, int green, int blue)
            {
                IRgbColor rgb = new RgbColorClass();
                rgb.Red = red;
                rgb.Green = green;
                rgb.Blue = blue;
                return rgb;
            }

            private IPolygon DrawPolygon()
            {
                IActiveView pActiveView;
                ISimpleFillSymbol pSimpleFillSymbol;

                IRubberBand pRubberBand;
                IPolygon pPolygon;

                pActiveView = (IActiveView)axMapControl1.Map;
                pSimpleFillSymbol = new SimpleFillSymbolClass();
                pSimpleFillSymbol.Color = GetRGBColor(255, 22, 11);
                pRubberBand = new RubberPolygonClass();
                //pPolygon =pRubberBand .TrackNew (pActiveView .ScreenDisplay ,(ISymbol )pSimpleFillSymbol );
                pPolygon = (IPolygon)pRubberBand.TrackNew(pActiveView.ScreenDisplay, (ISymbol)pSimpleFillSymbol);
                pActiveView.ScreenDisplay.StartDrawing(pActiveView.ScreenDisplay.hDC, (short)esriScreenCache.esriNoScreenCache);
                pActiveView.ScreenDisplay.SetSymbol((ISymbol)pSimpleFillSymbol);
                pActiveView.ScreenDisplay.DrawPolygon((IGeometry)pPolygon);
                pActiveView.ScreenDisplay.FinishDrawing();
                return pPolygon;
            }


            private Double MeasurePolygon(IPolygon pPolygon)
            {
                IArea pArea = (IArea)pPolygon;
                Double dArea = Math.Abs(pArea.Area);
                return dArea;
            }

           
          

            private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
            {
                //if (boolAreaMeasure)
                {
                    IPolygon pPloygon;
                    Double dArea;
                    pPloygon = DrawPolygon();
                    dArea = MeasurePolygon(pPloygon);
                    MessageBox.Show(dArea.ToString());
                }

            }

  • 相关阅读:
    NET微信公众号开发环境搭建(一)-了解微信由来
    JS:复制内容到剪贴板(无插件,兼容所有浏览器)
    js 压缩上传的图片方法(默认上传的是file文件)
    vue封装组件调用时绑定click事件
    vue cli3 区分开发环境,测试环境,正式环境(二)
    vue 动态修改网页标题 title
    vue移动端适配(px转vw)postcss-px-to-viewport配置
    veu创建项目,自定义配置
    vue cli3配置开发环境、测试环境、生产(线上)环境(一)
    vue封装axios
  • 原文地址:https://www.cnblogs.com/gisoracle/p/1587647.html
Copyright © 2011-2022 走看看