ArcGIS Engine导出jpg
用到的引用
using ESRI.ArcGIS.Output; //文件导出用
using ESRI.ArcGIS.Geometry; //获得Envelope用
用到的关键类/接口
类/接口 | 描述 |
IExporter | 提供访问地图导出类的方法 |
JpegExporterClass | 导出jpg文件的类 |
tagRect | 用来存储坐标范围的结构体 |
IEnvelope | 提供访问图形外包络矩形的方法 |
EnvelopeClass | 用于创建外包络矩形的类 |
实现思路:
Exporter有三个必要参数:文件保存位置 path、分辨率 resolution、栅格范围 pixel bound,按照这个思路进行
- 获取保存位置
- 指定输出图片类型
- 获取AxMapControl分辨率
- 获取输出图片大小
- 使用IActiveView接口的Output方法输出
详细步骤:
创建导出Jpg类,指定保存路径及分辨率
IExporter pExport = new JpegExporterClass(); //创建jpg格式输出
pExp.Resolution = resolution;
pExp.ExportFileName = path;
获取输出图片大小
tagRECT tag = axMapControl1.ActiveView.ExportFrame;
IEnvelope deviceEnveloe = new EnvelopeClass();
deviceEnveloe.PutCoords(deviceRect.left, deviceRect.top, deviceRect.right, deviceRect.bottom); //定义与初始化Envelope
pExport.PixelBounds = deviceEnveloe; //设置范围为全图
使用IActiveView接口的Output方法输出
axMapControl1.ActiveView.Output(pExport.StartExporting(), pExport.Resolution, ref deviceRect, axMapControl1.ActiveView.Extent,null);
pExport.FinishExporting(); //与输出有关的都会在最后关闭输出流
全部代码(函数)
private void saveJpg(string path){//获得范围double resolution = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.Resolution;tagRECT tag = axMapControl1.ActiveView.ExportFrame;IEnvelope pEnvelope = new EnvelopeClass();pEnvelope.PutCoords(rect.left, rect.bottom, rect.right, rect.top);IExporter pExporter = new JpegExporterClass();pExporter.ExportFileName = path;pExporter.Resolution = (short)resolution;pExporter.PixelBounds = pEnvelope;axMapControl1.ActiveView.Output(pExporter.StartExporting(), pExporter.Resolution, ref rect, axMapControl1.Extent, null);pExporter.FinishExporting();}
ArcGIS Engine导出jpg相关推荐
- ArcGIS Engine 项目10.1升级10.2
一 10.1 到 10.2 ArcGIS Engine 项目,相同代码,从10.1升级10.2: 首先是VS载入项目时窗体上的控件会出现问题:然后,如下面图,即可: 看下引用,已经出了问题: 右击添加 ...
- ArcGIS Engine开发之旅02--ArcGIS Engine中的类库
原文 ArcGIS Engine开发之旅02--ArcGIS Engine中的类库 System类库 System类库是ArcGIS体系结构中最底层的类库.System类库包含给构成ArcGIS的其他 ...
- ArcGIS Engine代码共享-可以直接移植到你的工程中
以前写ArcGIS Engine程序,都是一些代码积累,基本上都是静态变量,如果有基础的一看就明白了,我也没有时间来总结这一块了,大家自己消化吧,好多东西应该可以直接移植到其他地方. ArcGIS E ...
- ArcGIS Engine开发:框架/结构+对象库
ArcGIS Engine开发:框架/结构+对象库 框架/结构: ArcGIS Engine 开发人员有权使用一系列的控制器,这些控制器 准许很多属性.事件和方法的使用.尽管一个简单的应用软件 仅仅通 ...
- ArcGIS Engine环境下VS窗体与Unity虚拟现实地理空间的嵌套和交互
本文目录 一.前言 1.结果图片 2.相关系统与平台介绍 3.实践思路与基本流程 4.涉及环境与软件 二.前期操作介绍 1.Unity和Winform窗体的连接交互 1.1.Unity和Winform ...
- Arcgis Engine 提示The operation cannot be performed on a non-simple geometry.
问题背景: 使用search对SDE中图层进行查询与目标Geometry相交的图层.geometry是我通过图幅号获取得到的.报错结果:The operation cannot be performe ...
- ArcGIS Engine开发的类ArcCatalog数据管理工具
这是以前的ArcGIS Engine开发成果,主要是Geodatabase方面的,模仿ArcCatalog的相关功能,进行了相关的开发 系统环境: VS2010.ArcGIS Engine10.Dev ...
- ArcSDE、ArcGis Engine、ArcGis Desktop的授权配置
ArcSDE.ArcGis Engine.ArcGis Desktop的授权配置 <?xml:namespace prefix = o ns = "urn:schemas-micros ...
- ArcGIS Engine中的Symbols详解
转自原文 ArcGIS Engine中的Symbols详解 本文由本人翻译ESRI官方帮助文档.尊重劳动成果,转载请注明来源. Symbols ArcObjects用了三种类型的Symbol(符号样式 ...
最新文章
- Java 多线程的基本方式
- Android多线程:深入分析 Handler机制源码(二)
- 化工原理 补考(重点)
- 高效程序员的45个习惯 pdf_如何培养孩子高效学习?养成高效学习的7 个习惯。建议收藏...
- android jpush json,发送了正确的JPush json却报1002
- 闭包 装饰器 偏函数
- linux之抓包神器tcpdump
- 4.4 VGG CNN、tensorflow实现——python实战
- shell oracle 多进程,Shell多进程实现
- MFC中给对话框重绘边框
- 【BZOJ2959】长跑 LCT+并查集
- 电源完整性之Cadence Sigrity Power DC_电热协同仿真
- java模板beetl引擎_模板引擎-beetl
- 搭档之家:14天1.5万人民币!悉尼将征收入境隔离费
- 利用VBA在EXCEL 获取网页上的天气
- HTTP状态码全部说明
- (七)通过pygame来设置飞机大战中 敌机 的速度、位置等
- matlab基础语法
- 《科学的画廊》:看见图片背后的科学
- 【二】、什么是抽象数据类型
热门文章
- 散养土鸡野外天敌的防护
- 教育在线学习系统,教育培训都能用,支持多个终端
- linux 配置串口重定向,Linux重定向console口控制台
- 2019.4.3拼多多笔试第一题
- 51单片机 串口发送数据(只是发送)
- 会计专业为什么要学python-御丽诗妃:为什么我建议你一定要学Python?
- 网站交换友情链接是否对SEO优化有帮助?
- 消息队列处理高并发【转】
- python 矩阵特征值分解_python3-特征值,特征分解,SVD奇异值分解
- 三层架构 - 表现层(界面层、Web层 - MVC)、业务逻辑层(Service)、数据访问层(DAO)