arcgis 根据区域刷新显示地图

本文介绍如何使用特定的符号和颜色在地图中绘制形状,包括设置坐标、确定范围、选择颜色、创建不同类型的符号(如简单线、填充、标记)以及应用到地图上。通过调整ROP2参数、宽度、透明度等属性,实现个性化地图展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

            IEnvelope pEnv = new EnvelopeClass() as IEnvelope;
            pEnv.PutCoords(x1, y1, x2, y2);
            m_ipGeo = (IGeometry)pEnv; ;//确定范围
           m_iApp.MapControl.FullExtent = pEnv; //必须加上否则地图不能正常显示

            if (null == m_ipGeo) return;
            IRgbColor pColor = new RgbColorClass();
            //pColor.RGB = m_corlorSelection.ToArgb();
            Color cr = m_iApp.SelectionCorlor;
            pColor.Blue = cr.B;
            pColor.Green = cr.G;
            pColor.Red = cr.R;
            pColor.Transparency = cr.A;
            object ob = null;
            int m_iSelectionRadPixels = m_iApp.SelectionBufferInPixels;
            ISymbol pSymbol = null;
            switch (m_ipGeo.GeometryType)
            {
                case esriGeometryType.esriGeometryPolyline:
                    ISimpleLineSymbol pSimpleLineSymbol = new SimpleLineSymbol();

                    pSymbol = (ISymbol)pSimpleLineSymbol;

                    pSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;// = esriROPNotXOrPen;
                    pSimpleLineSymbol.Color = pColor;
                    pSimpleLineSymbol.Color.Transparency = 1;
                    pSimpleLineSymbol.Width = m_iSelectionRadPixels;
                    break;

                case esriGeometryType.esriGeometryPolygon:
                case esriGeometryType.esriGeometryEnvelope:
                    ISimpleFillSymbol pSimpleFillSymbol = new SimpleFillSymbol();

                    pSymbol = (ISymbol)pSimpleFillSymbol;
                    pSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
                    pSimpleFillSymbol.Color = pColor;
                    pSimpleFillSymbol.Color.Transparency = 1;
                    break;
                case esriGeometryType.esriGeometryPoint:
                    ISimpleMarkerSymbol pSimpleMarkersymbol = new SimpleMarkerSymbol();
                    pSymbol = (ISymbol)pSimpleMarkersymbol;

                    pSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
                    pSimpleMarkersymbol.Color = pColor;
                    pSimpleMarkersymbol.Size = m_iSelectionRadPixels + m_iSelectionRadPixels + m_iSelectionRadPixels;
                    break;
            }
            ob = (object)pSymbol;
            m_iApp.MapControl.DrawShape(m_ipGeo, ref ob);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值