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导出JPEG文件,可以使用arcpy模块中的ExportToJPEG函数。具体的步骤如下: 1. 首先,创建一个新的地理数据库文件(GDB)来保存导出的JPEG文件。你可以使用以下代码创建一个新的GDB: arcpy.CreateFileGDB_management(strCurPath, "pTempDatas.gdb") 2. 然后,使用arcpy.mapping模块来打开MXD工程文件,可以使用以下代码打开MXD工程文件: mxd = arcpy.mapping.MapDocument("path_to_mxd_file") (path_to_mxd_file是MXD文件的路径) 3. 接下来,选择你想要导出的地图视图,可以使用以下代码选择地图视图: df = arcpy.mapping.ListDataFrames(mxd, "地图名称") (地图名称是你想要导出的地图视图的名称) 4. 然后,使用ExportToJPEG函数来导出JPEG文件,你可以使用以下代码: arcpy.mapping.ExportToJPEG(mxd, "输出文件夹路径\\输出文件名.jpg", resolution=300, data_frame=df) (输出文件夹路径是你想要保存JPEG文件的文件夹路径,输出文件名是你想要保存的JPEG文件的文件名,resolution是输出JPEG文件的分辨率,data_frame是你选择的地图视图) 5. 最后,记得关闭MXD工程文件,使用以下代码关闭MXD文件: del mxd 这样,你就可以使用ArcGIS中的arcpy模块来批量导出MXD工程文件为JPEG文件了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [arcgis批量导出图片(JPG、BMP、PNG)](https://blog.csdn.net/mgy4938/article/details/129154626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [ArcGIS10批量导出MXD为JPG图片工具](https://download.csdn.net/download/qq_34582066/85519345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值