往往在一些后台服务里,比如WebService、Web API、Windows Service这些服务中打开ArcGIS的mxd文档,是没有任何可视化的组件。然而,当你需要定位图形并以指定的尺寸导出地图为图片时,就需要去设置地图框架的尺寸。要不然你将得不到指定的尺寸,或者得不到想要图片内容。因为图形定位是基于地图框架的大小以及要素大小和空间位置进行定位的,所以这里需要改变地图框架的大小。
使用IDisplayTransformation这个接口的set_DeviceFrame方法即可以设置地图框架的大小。而IDisplayTransformation接口在IScreenDisplay接口中可以得到。一般情况下将地图窗口(DeviceFrame)设置为要导出的图片尺寸即可。比如说你想导出的图片尺寸为600*400,那么只需要创建一个ESRI.ArcGIS.esriSystem.tagRECT,bottom = 400,right = 600。然后使用IDisplayTransformation接口的set_DeviceFrame方法,传入这个tagRECT就把地图框架的大小设置为600*400了。
IDisplayTransformation接口和set_DeviceFrame方法的文档