示例#1
0
        //CharacterMarkerSymbol
        private void button3_Click(object sender, EventArgs e)
        {
            ICharacterMarkerSymbol characterMarkerSymbol = new CharacterMarkerSymbol();

            stdole.IFontDisp fontDisp = (stdole.IFontDisp)(new stdole.StdFontClass());
            IRgbColor        rgbColor = new RgbColor();

            rgbColor        = getRGB(100, 100, 100);
            fontDisp.Name   = "arial";
            fontDisp.Size   = 12;
            fontDisp.Italic = true;

            characterMarkerSymbol.Angle          = 0;
            characterMarkerSymbol.CharacterIndex = 97;
            characterMarkerSymbol.Color          = rgbColor;
            characterMarkerSymbol.Font           = fontDisp;
            characterMarkerSymbol.Size           = 24;
            characterMarkerSymbol.XOffset        = 0;
            characterMarkerSymbol.YOffset        = 0;

            IPoint point1 = new PointClass();
            IPoint point2 = new PointClass();

            point1.PutCoords(5, 5);
            point2.PutCoords(5, 10);
            this.axMapControl1.FlashShape(point1 as IGeometry, 3, 500, characterMarkerSymbol);
            this.axMapControl1.FlashShape(point2 as IGeometry);
        }
示例#2
0
        /// <summary>
        /// Gets the GPS photo viewshed symbol.
        /// </summary>
        /// <returns>ICharacterMarkerSymbol for GPS Photo</returns>
        private ICharacterMarkerSymbol GetGPSPhotoViewshedSymbol()
        {
            ICharacterMarkerSymbol charSymbol = new CharacterMarkerSymbol();

            // IFontDisp fontDisp = (IFontDisp)(new StdFont());
            IRgbColor rgbColor = new RgbColor();

            // Define the color we want to use
            rgbColor.Red   = 255;
            rgbColor.Green = 0;
            rgbColor.Blue  = 0;

            // Define the Font we want to use
            charSymbol.Font = ESRI.ArcGIS.Utility.Converter.ToStdFont(new System.Drawing.Font("ESRI Dimensioning", 30f));

            // Set the CharacterMarkerSymbols Properties
            charSymbol.Size           = 30;
            charSymbol.Angle          = 90;
            charSymbol.CharacterIndex = 45;
            charSymbol.Color          = rgbColor;
            charSymbol.XOffset        = 4;
            charSymbol.YOffset        = 0;

            return(charSymbol);
        }
示例#3
0
        /// <summary>
        /// Gets the GPS photo symbol.
        /// </summary>
        /// <returns>ISymbol for GPS Locations</returns>
        private ISymbol GetGPSPhotoSymbol()
        {
            IMultiLayerMarkerSymbol multiLayerMarkerSymbol = new MultiLayerMarkerSymbolClass();

            ICharacterMarkerSymbol viewshedSymbol = this.GetGPSPhotoViewshedSymbol();

            multiLayerMarkerSymbol.AddLayer(viewshedSymbol);

            ICharacterMarkerSymbol charSymbol = new CharacterMarkerSymbol();

            // IFontDisp fontDisp = (IFontDisp)(new StdFont());
            IRgbColor rgbColor = new RgbColor();

            // Define the color we want to use
            rgbColor.Red   = 255;
            rgbColor.Green = 0;
            rgbColor.Blue  = 0;

            // Define the Font we want to use
            charSymbol.Font = ESRI.ArcGIS.Utility.Converter.ToStdFont(new System.Drawing.Font("ESRI Default Marker", 30f));

            // Set the CharacterMarkerSymbols Properties
            charSymbol.Size           = 8;
            charSymbol.Angle          = 0;
            charSymbol.CharacterIndex = 34;
            charSymbol.Color          = rgbColor;
            charSymbol.XOffset        = 0;
            charSymbol.YOffset        = 0;

            multiLayerMarkerSymbol.AddLayer(charSymbol);

            return((ISymbol)multiLayerMarkerSymbol);
        }
示例#4
0
        //MultiLayerMarkerSymbol
        private void button5_Click(object sender, EventArgs e)
        {
            IMultiLayerMarkerSymbol multiLayerMarkerSymbol = new MultiLayerMarkerSymbolClass();
            IPictureMarkerSymbol    pictureMarkerSymbol    = new PictureMarkerSymbolClass();
            ICharacterMarkerSymbol  characterMarkerSymbol  = new CharacterMarkerSymbol();

            stdole.IFontDisp fontDisp = (stdole.IFontDisp)(new stdole.StdFontClass());
            IRgbColor        rgbColor = new RgbColor();

            rgbColor        = getRGB(0, 0, 0);
            fontDisp.Name   = "arial";
            fontDisp.Size   = 12;
            fontDisp.Italic = true;
            //创建字符符号
            characterMarkerSymbol.Angle          = 0;
            characterMarkerSymbol.CharacterIndex = 97;
            characterMarkerSymbol.Color          = rgbColor;
            characterMarkerSymbol.Font           = fontDisp;
            characterMarkerSymbol.Size           = 24;
            characterMarkerSymbol.XOffset        = 0;
            characterMarkerSymbol.YOffset        = 0;
            //创建图片符号
            //string fileName = @"E:\vs2005\第五章\lesson2\lesson2\data\qq.bmp";
            string path     = Directory.GetCurrentDirectory();
            string fileName = path + @"\qq.bmp";

            pictureMarkerSymbol.CreateMarkerSymbolFromFile(esriIPictureType.esriIPictureBitmap, fileName);
            pictureMarkerSymbol.Angle = 0;
            pictureMarkerSymbol.BitmapTransparencyColor = rgbColor;
            pictureMarkerSymbol.Size    = 30;
            pictureMarkerSymbol.XOffset = 0;
            pictureMarkerSymbol.YOffset = 0;
            //添加图片、字符符号到组合符号中
            multiLayerMarkerSymbol.AddLayer(pictureMarkerSymbol);
            multiLayerMarkerSymbol.AddLayer(characterMarkerSymbol);
            multiLayerMarkerSymbol.Angle   = 0;
            multiLayerMarkerSymbol.Size    = 30;
            multiLayerMarkerSymbol.XOffset = 0;
            multiLayerMarkerSymbol.YOffset = 0;

            IPoint point1 = new PointClass();
            IPoint point2 = new PointClass();

            point1.PutCoords(5, 5);
            point2.PutCoords(5, 10);
            this.axMapControl1.FlashShape(point1 as IGeometry, 3, 200, multiLayerMarkerSymbol);
            this.axMapControl1.FlashShape(point2 as IGeometry);
        }
示例#5
0
        public object ConvertToSupportedObject(esriArcGISVersion docVersion)
        {
            ICharacterMarkerSymbol characterMarkerSymbol = new CharacterMarkerSymbol();

            characterMarkerSymbol.Color = this.m_fillSymbol.Color;
            characterMarkerSymbol.Angle = this.m_rotation;
            characterMarkerSymbol.Size  = this.m_size;
            // characterMarkerSymbol.Font = Converter.ToStdFont(new System.Drawing.Font("ESRI Default Marker", (float)this.m_size, System.Drawing.FontStyle.Regular));
            characterMarkerSymbol.CharacterIndex = 184;
            IMarkerElement markerElement = new MarkerElement() as IMarkerElement;

            markerElement.Symbol = characterMarkerSymbol;
            IPoint   geometry = ((IClone)this.m_pointGeometry).Clone() as IPoint;
            IElement element  = (IElement)markerElement;

            element.Geometry = geometry;
            return(element);
        }
示例#6
0
        public object ConvertToSupportedObject(esriArcGISVersion docVersion)
        {
            ICharacterMarkerSymbol characterMarkerSymbolClass = new CharacterMarkerSymbol()
            {
                Color = this.m_fillSymbol.Color,
                Angle = this.m_rotation,
                Size  = this.m_size,
                //Font = ESRI.ArcGIS.ADF.Local.Converter.ToStdFont(new Font("ESRI Default Marker", (float)this.m_size, FontStyle.Regular)),
                CharacterIndex = 184
            };
            IMarkerElement markerElement = new MarkerElement() as IMarkerElement;

            markerElement.Symbol = characterMarkerSymbolClass;
            IMarkerElement markerElementClass = markerElement as IMarkerElement;
            IPoint         point   = ((IClone)this.m_pointGeometry).Clone() as IPoint;
            IElement       element = (IElement)markerElementClass;

            element.Geometry = point;

            return(element);
        }