PIE SDK临时元素的绘制
1. 功能简介
在数据的处理中会用到临时元素的绘制,用于当前显示;临时元素包括点、线、面、文本、图片五种元素;目前PIE SDK支持这五种元素的绘制,下面对五种临时元素的绘制功能进行介绍。
2. 功能实现说明
2.1. 临时点的绘制
2.1.1 . 实现思路及原理说明
第一步 |
设置点的Geometry信息 |
第二步 |
设置点的符号 |
第三步 |
绘制临时点元素 |
2.1.2. 核心接口与方法
接口/类 |
方法/属性 |
说明 |
MapControl |
DrawShape(IGeometry shape, ISymbol symbol) |
绘制Shape |
ISimpleMarkerSymbol |
Style |
获取或设置简单点符号样式 |
IMarkerSymbol |
Color |
获取或设置点的颜色 |
Size |
获取或设置点的大小 |
2.1.3. 示例代码
项目路径 |
百度云盘地址下/PIE示例程序/08元素绘制/06临时元素的绘制 |
视频路径 |
百度云盘地址下/PIE视频教程/08元素绘制/06临时元素的绘制.avi |
示例代码 |
|
1 /// <summary> 2 /// 临时点 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void toolStripButton_DrawTempPoint_Click(object sender, EventArgs e) 7 { 8 //1.空间位置信息 9 IPoint point = new PIE.Geometry.Point(); 10 point.PutCoords(115, 80); 11 12 //2.符号信息 13 ISimpleMarkerSymbol simpleMarkerSymbol = new SimpleMarkerSymbol(); 14 simpleMarkerSymbol.Style = SimpleMarkerStyle.SMSCircle; 15 IMarkerSymbol symbol = simpleMarkerSymbol as IMarkerSymbol; 16 symbol.Color = Color.Red; 17 symbol.Size = 10; 18 //绘制临时点 19 //activeView.DrawGeometry(symbol, point as IGeometry); 20 mapControlMain.DrawShape(point as IGeometry, symbol); 21 } |
2.1.4. 示例截图
2.2. 临时线的绘制
2.2.1. 实现思路及原理说明
第一步 |
设置线的Geometry信息 |
第二步 |
设置线的符号 |
第三步 |
绘制临时线元素 |
2.2.2. 核心接口与方法
接口/类 |
方法/属性 |
说明 |
MapControl |
DrawShape(IGeometry shape, ISymbol symbol) |
绘制Shape |
ILineSymbol |
Style |
获取或设置简单符号样式 |
2.2.3. 示例代码
项目路径 |
百度云盘地址下/PIE示例程序/08元素绘制/06临时元素的绘制 |
视频路径 |
百度云盘地址下/PIE视频教程/08元素绘制/06临时元素的绘制.avi |
示例代码 |
|
1 /// <summary> 2 /// 临时线 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void toolStripButton_DrawTempLine_Click(object sender, EventArgs e) 7 { 8 //1.设置空间信息 9 IPointCollection line = new Polyline(); 10 line.AddPoint(100, 100); 11 line.AddPoint(400, 200); 12 //2.设置空间参考 13 (line as IGeometry).SpatialReference = mapControlMain.SpatialReference; 14 //3.设置显示符号 15 ILineSymbol lineSymbol = SystemSymbolSetting.Instance.DefaultLineSymbol; 16 //4.绘制图形 17 mapControlMain.DrawShape(line as IGeometry, lineSymbol); 18 } |
2.2.4. 示例截图
2.3. 临时面的绘制
2.3.1. 实现思路及原理说明
第一步 |
设置面的Geometry信息 |
第二步 |
设置面的符号 |
第三步 |
绘制临时元素 |
2.3.2. 核心接口与方法
接口/类 |
方法/属性 |
说明 |
MapControl |
DrawShape(IGeometry shape, ISymbol symbol) |
绘制Shape |
IFillSymbol |
… |
可以自行设置符号样式 |
2.3.3. 示例代码
项目路径 |
百度云盘地址下/PIE示例程序/08元素绘制/06临时元素的绘制 |
视频路径 |
百度云盘地址下/PIE视频教程/08元素绘制/06临时元素的绘制.avi |
示例代码 |
|
1 /// <summary> 2 /// 临时面 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void toolStripButton_DrawTempPolygon_Click(object sender, EventArgs e) 7 { 8 //1设置空间信息 9 IPointCollection polygon = new Polygon(); 10 polygon.AddPoint(100, 100); 11 polygon.AddPoint(100, 200); 12 polygon.AddPoint(200, 200); 13 polygon.AddPoint(200, 100); 14 polygon.AddPoint(100, 100); 15 //2设置空间参考 16 (polygon as IGeometry).SpatialReference = mapControlMain.SpatialReference; 17 //3.设置显示符号 18 IFillSymbol fillSymbol = SystemSymbolSetting.Instance.DefaultFillSymbol; 19 //4.绘制图形 20 mapControlMain.DrawShape(polygon as IGeometry, fillSymbol); 21 } |
2.3.4. 示例截图
2.4. 临时文本的绘制
2.4.1. 实现思路及原理说明
第一步 |
设置临时文本的Geometry信息 |
第二步 |
设置文本显示的符号 |
第三步 |
绘制临时文本元素 |
2.4.2. 核心接口与方法
接口/类 |
方法/属性 |
说明 |
MapControl |
DrawShape(IGeometry shape, ISymbol symbol) |
绘制Shape |
ITextSymbol |
Color |
获取或文本设置颜色 |
Size |
获取或设置文本大小 |
|
Font |
获取或设置文本字体 |
|
Text |
获取或设置文本文字内容 |
2.4.3. 示例代码
项目路径 |
百度云盘地址下/PIE示例程序/08元素绘制/06临时元素的绘制 |
视频路径 |
百度云盘地址下/PIE视频教程/08元素绘制/06临时元素的绘制.avi |
示例代码 |
|
1 /// <summary> 2 /// 临时文本 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void toolStripButton_DrawTempText_Click(object sender, EventArgs e) 7 { 8 //空间信息 9 IPoint point = new PIE.Geometry.Point(); 10 point.PutCoords(200, 200, 0); 11 //符号信息 12 ITextSymbol textSymbol = new TextSymbol(); 13 textSymbol.Color = Color.Green; 14 textSymbol.Size = 20; 15 textSymbol.Font = new Font("Times New Roman", 100, FontStyle.Bold); 16 textSymbol.Text = "hello!!!!!!!!!!!!!!!!!!!!"; 17 //绘制图形 18 mapControlMain.DrawShape(point as IGeometry, textSymbol); 19 } |
2.4.4. 示例截图
2.5. 临时图片的绘制
2.5.1. 实现思路及原理说明
第一步 |
设置图片的Geometry信息 |
第二步 |
设置图片的符号 |
第三步 |
绘制临时图片元素 |
2.5.2. 核心接口与方法
接口/类 |
方法/属性 |
说明 |
MapControl |
DrawShape(IGeometry shape, ISymbol symbol) |
绘制Shape |
IPictureFillSymbol |
CreateFromFile() |
图片从文本创建 |
2.5.3. 示例代码
项目路径 |
百度云盘地址下/PIE示例程序/08元素绘制/06临时元素的绘制 |
视频路径 |
百度云盘地址下/PIE视频教程/08元素绘制/06临时元素的绘制.avi |
示例代码 |
|
1 /// <summary> 2 /// 临时图片 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void toolStripButton_DrawTempPic_Click(object sender, EventArgs e) 7 { 8 //空间信息 9 IPolygon polygon = new Polygon(); 10 IPointCollection pointCollection = new Polygon(); 11 (polygon as IPointCollection).AddPoint(100, 100); 12 (polygon as IPointCollection).AddPoint(100, 200); 13 (polygon as IPointCollection).AddPoint(200, 200); 14 (polygon as IPointCollection).AddPoint(200, 100); 15 (polygon as IPointCollection).AddPoint(100, 100); 16 17 //符号信息 18 IPictureFillSymbol picFillSymbol = new PictureFillSymbol(); 19 OpenFileDialog openFileDialog = new OpenFileDialog(); 20 openFileDialog.Filter = "Picture File|*.bmp"; 21 if (openFileDialog.ShowDialog() != DialogResult.OK) return; 22 picFillSymbol.CreateFromFile(openFileDialog.FileName); 23 //绘制图形 24 IFillSymbol fillSymbol = picFillSymbol as IFillSymbol; 25 mapControlMain.DrawShape(polygon as IGeometry, fillSymbol); 26 } |
2.5.4. 示例截图