AE开发中经常遇到需要将Map、Scene、Globe中的当前场景导出为图片,下面是我总结的导出方法,其中二维的可以导出到内存或硬盘上,还可以导出图片的空间数据文件,三维中只可以导出到硬盘上,附上源码(VB.Net),用法在Summary中写的很详细了,^_^
''' <summary>
''' 二维导出当前场景为图片对象(内存中)
''' </summary>
''' <param name="pActiveView">当前的Activeview</param>
''' <returns>Image对象</returns>
''' <remarks></remarks>
Public Shared Function ExportToBMP(ByVal pActiveView As IActiveView) As System.Drawing.Image
Dim pResolution As Double = pActiveView.ScreenDisplay.DisplayTransformation.Resolution
Dim pExport As IExport = New ExportBMP
pExport.Resolution = pResolution
Dim deviceRECT As tagRECT = pActiveView.ScreenDisplay.DisplayTransformation.DeviceFrame
Dim pDriverBounds As IEnvelope = New Envelope
pDriverBounds.PutCoords(deviceRECT.left, deviceRECT.bottom, deviceRECT.right, deviceRECT.top)
pExport.PixelBounds = pDriverBounds
Dim pCancel As ITrackCancel = New CancelTracker
pActiveView.Output(pExport.StartExporting, pResolution, deviceRECT, pActiveView.Extent, pCancel)
pExport.FinishExporting()
Dim pExportBmp As IExportBMP = pExport
Dim pImage As System.Drawing.Image = System.Drawing.Image.FromHbitmap(pExportBmp.Bitmap)
pExport.Cleanup()
Return pImage
End Function
''' <summary>
''' 二维导出当前场景为图片文件(硬盘上)
''' </summary>
''' <param name="pFilePath">图片全路径</param>
''' <param name="pExportPic">图片格式的对象(形如IExportBMP)</param>
''' <param name="pActiveView" (本文已被浏览 次) | | |