PIE SDK地图显示范围截图
1.1. 功能简介
地图显示范围截图是将当前地图显示的范围进行输出。输出的 格式是png、bmp,主要思路就是通过IActiveView接口下的Output()方法进行输出
1.2. 功能实现说明
2.1. 实现思路及原理说明
第一步 |
设置图片导出路径 |
第二步 |
设置输出的属性ExportPNG(宽度、高度、导出路径等) |
第三步 |
地图调用OutPut()方法进行输出 |
2.2. 核心接口与方法
接口/类 |
方法/属性 |
说明 |
PIE.Display.IDisplayTransformation |
DeviceFrame |
获取或设置设备框架 |
PIE.Carto.ExportPNG |
Width |
获取或设置导出的宽度 |
Height |
获取或设置导出的高度 |
|
ExportFileName |
设置或获取导出路径 |
|
StartExporting |
开始导出 |
|
FinishExporting |
结束导出 |
2.3. 示例代码
项目路径 |
百度云盘地址下/PIE示例程序/02.地图操作/04.地显示范围截图 |
数据路径 |
百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif |
视频路径 |
百度云盘地址下/PIE视频教程/02.地图操作/04.地图显示范围截图.avi |
示例代码 |
|
1 /// <summary> 2 /// 地图显示范围截图 并将图保存 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void tbn_OutputImg_Click(object sender, EventArgs e) 7 { 8 //1、设置输出的路径 9 SaveFileDialog saveFile = new SaveFileDialog(); 10 saveFile.Filter = "png图(*.png)|*.png|bmp|*.bmp"; 11 saveFile.Title = "截图保存路径"; 12 if (saveFile.ShowDialog() != DialogResult.OK) return; 13 if (string.IsNullOrEmpty(saveFile.FileName)) 14 { 15 MessageBox.Show("文件名不能为空!"); 16 return; 17 } 18 //2、实例化输出png对象,并设置输出属性 19 PIE.Display.IDisplayTransformation dT = mapControlMain.ActiveView.DisplayTransformation; 20 PIE.Carto.ExportPNG export = new PIE.Carto.ExportPNG(); 21 export.Width = (int)dT.DeviceFrame.Width; 22 export.Height = (int)dT.DeviceFrame.Height; 23 export.ExportFileName = saveFile.FileName; 24 export.StartExporting(); 25 mapControlMain.ActiveView.Output(export as PIE.Carto.IExport, 96, dT.DeviceFrame, mapControlMain.ActiveView.Extent, null); 26 export.FinishExporting(); 27 } |
2.4. 示例截图