基于C#的AE二次开发导出地图为JPG、TIF、PDF图片

我的开发环境为ArcGIS Engine 10.2与Visual studio2010。创建一个菜单或按钮,创建一个点击事件,粘贴代码即可实现。我的主地图名称为axMapControl1,如果变动则需要修改(注意相关事件的添加与动态链接库的引入)!这个导出是当前地图窗口范围的导出,导出的范围取决于地图窗口的当前内容。SaveFileDialog 的FilterIndex 从1开始不是从0,这点容易出错!
实现代码:

private void 地图导出_Click(object sender, EventArgs e)
{ExportMapToImage();
}private void ExportMapToImage()
{try{SaveFileDialog pSaveDialog = new SaveFileDialog();pSaveDialog.FileName = "";pSaveDialog.Filter = "JPG图片(*.JPG)|*.jpg|tif图片(*.tif)|*.tif|PDF文档(*.PDF)|*.pdf";if (pSaveDialog.ShowDialog() == DialogResult.OK){double iScreenDispalyResolution = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.Resolution;// 获取屏幕分辨率的值IExporter pExporter = null;if (pSaveDialog.FilterIndex == 1){pExporter = new JpegExporter() as IExporter;}else if (pSaveDialog.FilterIndex == 2){pExporter = new TiffExporter() as IExporter;}else if (pSaveDialog.FilterIndex == 3){pExporter = new PDFExporter() as IExporter;}pExporter.ExportFileName = pSaveDialog.FileName;pExporter.Resolution = (short)iScreenDispalyResolution; //分辨率tagRECT deviceRect = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.get_DeviceFrame();IEnvelope pDeviceEnvelope = new Envelope() as IEnvelope;pDeviceEnvelope.PutCoords(deviceRect.left, deviceRect.bottom, deviceRect.right, deviceRect.top);pExporter.PixelBounds = pDeviceEnvelope; // 输出图片的范围ITrackCancel pCancle = new CancelTracker();//可用ESC键取消操作axMapControl1.ActiveView.Output(pExporter.StartExporting(), pExporter.Resolution, ref deviceRect, axMapControl1.ActiveView.Extent, pCancle);Application.DoEvents();pExporter.FinishExporting();}}catch (Exception Err){MessageBox.Show(Err.Message, "输出图片", MessageBoxButtons.OK, MessageBoxIcon.Information);}
}

基于C#的AE二次开发导出地图为JPG、TIF、PDF图片相关推荐

  1. 基于C#的AE二次开发之地图标注

    基于C#的AE二次开发之地图标注 我的开发环境为ArcGIS Engine 10.2与Visual studio2010.主地图名称为axMapControl1,创建一个菜单或按钮,创建一个点击事件, ...

  2. 基于C#的AE二次开发之图层右键菜单打开属性表及图层相关操作

    基于C#的AE二次开发之图层右键菜单打开属性表及图层相关操作 我的开发环境为ArcGIS Engine 10.2与Visual studio2010.主地图名称为axMapControl1,Toc目录 ...

  3. 基于C#的AE二次开发-地图渲染之分级设色符号化

    基于C#的AE二次开发-地图渲染之分级设色渲染符号化 我的开发环境为ArcGIS Engine 10.2与Visual studio2010.主地图名称为axMapControl1,Toc目录名为ax ...

  4. lisp二次开发 微盘_基于AutoLISP的AutoCAD二次开发研究_郭秀娟.pdf

    2008 年 12 月 Journal of Jilin Architectural and Civil Engineering Institute Dec.2008 基于 AutoLISP 的 Au ...

  5. 基于C#的AE二次开发之主界面设计

    上篇文章介绍了AE的安装与配置,下面介绍在VS2012中AE的简单主界面设计方法. 一.项目创建 1.打开VS2012建立项目 在打开界面后,点击新建项目,在弹出的界面中选择Visual C#--Ar ...

  6. python在材料模拟中的应用_基于Python的ABAQUS二次开发及在板料快速冲压成形模拟中的应用...

    2009 doi :10 1 3969/ j 1 issn 1 1007 2 2012 1 2009 1 04 1 013 基于 Python 的 ABAQUS 二次开发及在板料快速 冲压成形模拟中的 ...

  7. sw二次开发 python_基于C#的SolidWorks二次开发.doc

    摘要: 气动电阻点焊钳已经被各大汽车制造厂商广泛运的用于汽车焊接工艺中.它以无污染.压力稳定.动作敏捷等优点逐步替代了国内常见的液压传动焊钳,改变了液压传动滞缓的现象,从而达到了焊接循环的要求.本次毕 ...

  8. 陈伯雄lisp_基于AutoLisp的AutoCAD二次开发自动生成系统图

    龙源期刊网 http://www.qikan.com.cn 基于 AutoLisp 的 AutoCAD 二次开发自动 生成系统图 作者:郎建山 金江 来源:<科技视界> 2013 年第 2 ...

  9. CAD自控lisp_基于AutoLisp的AutoCAD二次开发自动生成系统图

    基于 AutoLisp 的 AutoCAD 二次开发自动生成系统图 [摘 要]本文主要阐述了应用 autolisp 语言二次开发 autocad 自动生成系统图的实现方案. [关键词] autocad ...

最新文章

  1. java swing form_在java swing中创建表单最简单的方法是什么?
  2. XP系统安装SQL2000企业版开启1433端口
  3. android 自定义view控件,Android 自定义View——自定义View控件
  4. #2002 - 服务器没有响应 (or the local MySQL server's socket is not ...
  5. java stringjoiner_java-为什么我们已经拥有StringBuilder时使用StringJoiner?
  6. linux内核中获取虚拟地址api,Linux内核-系统调用
  7. WordPress非组件实现文章阅读次数-不会php还逞强不用组件的我把网站给玩坏了 ( ̄ー ̄〃)
  8. 小心!使用网页版的WhatsApp时,请选择隐私模式
  9. TZOJ 3244 Happy YuYu's Birthday(数学几何)
  10. 权力的游戏第七季/全集Game of Thrones迅雷下载
  11. 【STM32CubeMx你不知道的那些事】第十章:STM32CubeMx的SPI外置FLASH(W25Q128)+文件系统(FATFS)+虚拟U盘
  12. 桌面上程序可以用计算机打不开,我电脑桌面图标程序都打不开怎么办
  13. 1、关于百兆口、千兆口、万兆口端口和网线的小常识
  14. eDairy-我的白日梦
  15. 安全认证宇宙之用户认证0x01
  16. Springboot实现过滤器
  17. 区分: 间宾直宾(双宾语) 宾补(复合宾语)
  18. golang标示废弃方法api
  19. 计算机与智能科学专业大学排名,智能科学与技术专业大学排名 2020全国排行榜...
  20. C#的兰姆达表达式与委托配合使用时的一些问题

热门文章

  1. 最详细的Sigmoid函数的求导推导过程
  2. C/C++术语,中英文对照
  3. Turtle系列之画一个简易的交通标志,安排安排【留作业】
  4. 解决ramdisk卸载后重新安装设备管理器中无法找到ramdisk设备问题
  5. 爬虫系列:在 Python 中用 Selenium 执行 Javascript
  6. Springboot集成quartz定时任务可视化配置​​​​​​​
  7. LeetCode 5485. 找出最长的超赞子字符串 (状态压缩、二进制、位运算、前缀和)
  8. 【OpenBCI】(2):原始数据包解码
  9. 仿小红书根据图片高度自适应viewpager高度轮播图
  10. lol多玩盒子 v4.2.9 官方版