将当前视图范围内的地图导出Jpg格式的图片

 '把地图保存为图片
   CommonDialog1.FileName = ""
   CommonDialog1.Filter = "JPG图片(*.JPG)|*.jpg"
   CommonDialog1.ShowSave
   If CommonDialog1.FileName <> "" Then
   
       Dim lScrRes As Long
       lScrRes =Me.MapControl1.ActiveView.ScreenDisplay.displayTransformation.Resolution
   
       Dim pExporter As IExporter
       Set pExporter = New JpegExporter
       pExporter.ExportFileName = CommonDialog1.FileName
       pExporter.Resolution = lScrRes
   
       Dim deviceRECT As tagRECT
       deviceRECT =Me.MapControl1.ActiveView.ScreenDisplay.displayTransformation.DeviceFrame
   
       Dim pDriverBounds As IEnvelope
       Set pDriverBounds = New Envelope
   
       pDriverBounds.PutCoords deviceRECT.Left, deviceRECT.bottom,deviceRECT.Right, deviceRECT.Top
   
       pExporter.PixelBounds = pDriverBounds
       Dim pCancel As ITrackCancel
       Set pCancel = New CancelTracker
       Me.MapControl1.ActiveView.Output pExporter.StartExporting, lScrRes,deviceRECT, Me.MapControl1.ActiveView.Extent, pCancel
       pExporter.FinishExporting
   
End If
当时做这一步的时候出了点小问题,Set pDriverBounds = New Envelope 这句老是编译出错,提示“无效使用New关键字”。后来通过QQ群的高手提醒,说可能是引用有冲突,只要在Envelope前面加上esriGeometry就可以了,即:
Dim pDriverBounds As esriGeometry.Envelope
Set pDriverBounds = NewesriGeometry.Envelope
果然这样就好了。
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值