ArcGIS Engine 开发(二)线、圆、矩形、面、文本编辑功能

ArcGIS Engine 开发(二)线、圆、矩形、面、文本编辑功能,这些都是实现课上的源代码,自己调试好了,直接可以放到vs2010下跑,,希望能对大家有所帮助

好了,先来看效果

二.下面是调试好的代码

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using ESRI.ArcGIS.esriSystem;using ESRI.ArcGIS.Geometry;using ESRI.ArcGIS.Controls;using ESRI.ArcGIS.Display;using ESRI.ArcGIS.Carto;namespace lesson5{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){}int flag = 0;private void axMapControl1_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e){axMapControl1.MousePointer =esriControlsMousePointer.esriPointerCrosshair;IGeometry geometry =null ;//if (flag ==1){geometry =axMapControl1.TrackLine() ;}else if (flag==2){geometry =axMapControl1.TrackCircle ();}else if (flag==3){geometry=axMapControl1.TrackRectangle ();}else if (flag==4){geometry=axMapControl1.TrackPolygon ();}else if (flag==5){IPoint point =new PointClass ();point.X =e.x ;point.Y =e.y ;geometry =point as IGeometry ;}if (flag >= 1 && flag <= 4){drawMapShape(geometry);}else if (flag == 5){drawMapText(geometry);}//axMapControl1.Refresh (esriViewDrawPhase.esriViewGeography, null, null);}//画线对象private void button1_Click(object sender, EventArgs e){flag = 1;}//画圆对象private void button2_Click(object sender, EventArgs e){flag = 2;}//画矩形对象private void button3_Click(object sender, EventArgs e){flag = 3;}//画面对象private void button4_Click(object sender, EventArgs e){flag = 4;}//画文本对象private void button5_Click(object sender, EventArgs e){flag = 5;}private void drawMapText(IGeometry geometry){IRgbColor color = new RgbColorClass();color.Red = 255;color.Blue = 0;color.Green = 0;ITextSymbol txtSystem = new TextSymbolClass();txtSystem.Color = color;//txtSystem.Text = "测试DrawText";object symbol = txtSystem;axMapControl1.DrawText(geometry, "测试DrawText", ref symbol);}private void drawMapShape(IGeometry pGeom){IRgbColor pColor;pColor = new RgbColorClass();pColor.Red = 255;pColor.Green =255;pColor.Blue =0;object symbol=null;if (pGeom.GeometryType == esriGeometryType.esriGeometryPolyline){ISimpleLineSymbol simpleLineSymbol;simpleLineSymbol = new SimpleLineSymbolClass();simpleLineSymbol.Color = pColor;simpleLineSymbol.Width = 5;symbol = simpleLineSymbol;}else{ISimpleFillSymbol simpleFillSymbol;simpleFillSymbol = new SimpleFillSymbolClass();simpleFillSymbol.Color = pColor;symbol = simpleFillSymbol;}axMapControl1.DrawShape(pGeom, ref symbol);}}}

我不敢说我明天便可以做一个快乐的人,面朝大海春暖花开。

ArcGIS Engine 开发(二)线、圆、矩形、面、文本编辑功能

相关文章:

你感兴趣的文章:

标签云: