阅读:3292回复:3
AE和AO中添加栅格数据的代码!
<TABLE cellSpacing=0 width="98%" align=center>
<TR> <TD colSpan=6>内容摘要</TD></TR> <TR> <TD>这个文档显示怎么样使用IRaster::CreateFromDataset方法来添加一个JPEG图像到ArcMap中。</TD></TR> <TR> <TD colSpan=6>过程描述</TD></TR> <TR> <TD>1 打开ArcMap, 并打开Visual Basic Editor.<BR>2 在工程浏览窗口,展开Project.mxt,选择ArcMap Objects>ThisDocument,右键并选择浏览代码。<BR>在工程的ThisDocument代码模块中的代码将仅仅在现在的地图文档中使用。如果想存储你的代码在你的所有的地图文档中,那么使用Normal.mxt中的ThisDocument代码模块。<BR>3 粘贴下面的代码到代码模块中:<BR>Public Sub AddRasterLayer()<BR><BR>Dim pMxDocument As IMxDocument<BR>Dim pMap As IMap<BR>Dim pLayer As IRasterLayer<BR>Dim pWF As IWorkspaceFactory<BR>Dim pWs As IWorkspace<BR>Dim pFW As IRasterWorkspace<BR>Dim pDataset As IDataset<BR>Dim pRDataset As IRasterDataset<BR><BR>Set pWF = New RasterWorkspaceFactory<BR><BR>' 输入图像文件的路径<BR>Set pWs = pWF.OpenFromFile("C:Images", 0)<BR><BR>' QI<BR>Set pFW = pWs<BR>' 输入图像文件的名字<BR>Set pRDataset = pFW.OpenRasterDataset("seb1.jpg")<BR><BR>' 创建数据集<BR>Dim pRLayer As IRasterLayer<BR>Set pRLayer = New RasterLayer<BR>pRLayer.CreateFromDataset pRDataset<BR><BR>'添加栅格图层到地图中<BR>Set pMxDocument = ThisDocument<BR>Set pMap = pMxDocument.FocusMap<BR>pMxDocument.AddLayer pRLayer<BR><BR>End Sub<BR><BR>4 关闭Visual Basic Editor并运行测试。</TD></TR></TABLE> |
|
1楼#
发布于:2007-12-26 14:12
<P>Private Sub Menu_files_r_Click()<BR> ' 创建数据集<BR> Dim RDataset As IRasterDataset<BR> Dim pRLayer As IRasterLayer<BR> Set pRLayer = New RasterLayer<BR> <BR> With frmmain.CommonDialog1<BR> .FileName = ""<BR> .Filter = "EMF(*.emf)|*.emf|EPS(*.eps)|*.eps|AI(*.ai)|*.ai|PDF(*.pdf)|*.pdf|SVG(*.svg)|*.svg|BMP(*.bmp)|*.bmp|JPEG(*.jpg)|*.jpg|PNG(*.png)|*.png|TIFF(*.tif)|*.tif|GIF(*.gif)|*.gif"<BR> .ShowOpen<BR> If Not .FileName = "" Then<BR> '从数据集中创建栅格图层<BR> Set RDataset = AddRasterLayer(Left(.FileName, Len(.FileName) - Len(.FileTitle) - 1), .FileTitle)<BR> pRLayer.CreateFromDataset RDataset<BR> '添加栅格图层到地图中<BR> frmmain.MapControl1.AddLayer pRLayer<BR> shp_Title = .FileTitle<BR> shp_Name = .FileName<BR> End If<BR> End With<BR>End Sub</P>
<P><BR>Public Function AddRasterLayer(sDir As String, sFileName As String) As IRasterDataset<BR>'添加栅格数据到mapcontrol控件中,还没有完善。。。<BR> ' sPath: 输入图像文件的路径<BR> ' sFileName: name of the raster dataset<BR>On Error GoTo ErrorHandler<BR> ' 创建栅格工作空间<BR> Dim pWF As IWorkspaceFactory<BR> Dim pWs As IWorkspace<BR> Dim pFW As IRasterWorkspace<BR> Dim pDataset As IDataset<BR> Dim pRDataset As IRasterDataset<BR> <BR> Set pWF = New RasterWorkspaceFactory<BR> ' 输入图像文件的路径<BR> Set pWs = pWF.OpenFromFile(sDir, 0)<BR> ' QI<BR> Set pFW = pWs<BR> ' 输入图像文件的名字<BR> Set pRDataset = pFW.OpenRasterDataset(sFileName)<BR> Set AddRasterLayer = pRDataset<BR> ' 释放内存<BR> Set pRDataset = Nothing<BR> Set pDataset = Nothing<BR> Set pFW = Nothing<BR> Set pWs = Nothing<BR> Set pWF = Nothing<BR> Exit Function<BR>ErrorHandler:<BR> Set AddRasterLayer = Nothing<BR>End Function</P> |
|
2楼#
发布于:2008-01-08 15:17
我支持你哦 谢谢
|
|
3楼#
发布于:2009-12-16 19:50
<P>支持</P>
|
|