c# AE 闪烁和定位

来源:互联网 发布:淘宝学校 编辑:程序博客网 时间:2024/04/29 05:55

 public partial class ArcengineUtil{ 

//闪烁线 

        public static void FlashLine(AxMapControl mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry)
        {
            ISimpleLineSymbol iLineSymbol;
            ISymbol iSymbol;
            IRgbColor iRgbColor;


            iLineSymbol = new SimpleLineSymbol();
            iLineSymbol.Width = 4;
            iRgbColor = new RgbColor();
            iRgbColor.Red = 255;
            iLineSymbol.Color = iRgbColor;
            iSymbol = (ISymbol)iLineSymbol;
            iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
            mapControl.FlashShape(iGeometry, 3, 200, iSymbol);
        }


        //闪烁面 
        public static void FlashPolygon(AxMapControl mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry)
        {
            ISimpleFillSymbol iFillSymbol;
            ISymbol iSymbol;
            IRgbColor iRgbColor;


            iFillSymbol = new SimpleFillSymbol();
            iFillSymbol.Style = esriSimpleFillStyle.esriSFSSolid;
            iFillSymbol.Outline.Width = 12;


            iRgbColor = new RgbColor();
            iRgbColor.RGB = System.Drawing.Color.FromArgb(100, 180, 180).ToArgb();
            iFillSymbol.Color = iRgbColor;


            iSymbol = (ISymbol)iFillSymbol;
            iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
            iScreenDisplay.SetSymbol(iSymbol);
            mapControl.FlashShape(iGeometry, 3, 200, iSymbol);

        }

        /// <summary>
        /// 定位
        /// </summary>
        /// <param name="geometry">要定位的地物</param>
        public static void LocateFeature(IGeometry geometry, MapUToolShareInfo mapUToolShareInfo)
        {
            if (geometry == null) return;
            if (geometry.GeometryType == esriGeometryType.esriGeometryPoint)
            {
                mapUToolShareInfo.AxMapControl.CenterAt(geometry as IPoint);//mapUToolShareInfo封装了mapcontrol
            }
            else
            {
                mapUToolShareInfo.AxMapControl.Extent = geometry.Envelope;
            }
        }

}

0 0
原创粉丝点击