//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); }
/// <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); }
/// <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); }
//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); }
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); }
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); }