添加比例尺 指北针.doc_第1页
添加比例尺 指北针.doc_第2页
添加比例尺 指北针.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

添加图例、比例尺、指北针代码中有注释,直接上 指北针C#代码 1 public void AddNorthArrow(IPageLayout pageLayout) 2 3 IGraphicsContainer container = pageLayout as IGraphicsContainer; 4 IActiveView activeView = pageLayout as IActiveView; 5 / 获得MapFrame 6 IFrameElement frameElement = container.FindFrame(activeView.FocusMap); 7 IMapFrame mapFrame = frameElement as IMapFrame; 8 /根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround 9 UID uid = new UIDClass(); 10 uid.Value = esriCarto.MarkerNorthArrow; 11 IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null); 12 /设置MapSurroundFrame中指北针的点符号 13 IMapSurround mapSurround = mapSurroundFrame.MapSurround; 14 IMarkerNorthArrow markerNorthArrow = mapSurround as IMarkerNorthArrow; 15 IMarkerSymbol markerSymbol = markerNorthArrow.MarkerSymbol; 16 markerSymbol.Size = 18; 17 markerNorthArrow.MarkerSymbol = markerSymbol; 18 /QI,确定mapSurroundFrame的位置 19 IElement element = mapSurroundFrame as IElement; 20 IEnvelope envelope = new EnvelopeClass(); 21 envelope.PutCoords(0.2, 0.2, 5, 5); 22 element.Geometry = envelope; 23 /使用IGraphicsContainer接口添加显示 24 container.AddElement(element, 0); 25 activeView.Refresh(); 26 比例尺C#代码 27 public void AddScalebar(IPageLayout pageLayout) 28 29 IGraphicsContainer container = pageLayout as IGraphicsContainer; 30 IActiveView activeView = pageLayout as IActiveView; 31 / 获得MapFrame 32 IFrameElement frameElement = container.FindFrame(activeView.FocusMap); 33 IMapFrame mapFrame = frameElement as IMapFrame; 34 /根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround 35 UID uid = new UIDClass(); 36 uid.Value = esriCarto.AlternatingScaleBar; 37 IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null); 38 /设置MapSurroundFrame中比例尺的样式 39 IMapSurround mapSurround = mapSurroundFrame.MapSurround; 40 IScaleBar markerScaleBar = (IScaleBar)mapSurround); 41 markerScaleBar.LabelPosition = esriVertPosEnum.esriBelow; 42 markerScaleBar.UseMapSettings(); 43 /QI,确定mapSurroundFrame的位置 44 IElement element = mapSurroundFrame as IElement; 45 IEnvelope envelope = new EnvelopeClass(); 46 envelope.PutCoords(0.2, 0.2, 1, 2); 47 element.Geometry = envelope; 48 /使用IGraphicsContainer接口添加显示 49 container.AddElement(element, 0); 50 activeView.Refresh(); 51 图例C#代码 52 private void AddLegend(IPageLayout pageLayout) 53 54 IActiveView pActiveView = pageLayout as IActiveView; 55 IGraphicsContainer container = pageLayout as IGraphicsContainer; 56 / 获得MapFrame 57 IMapFrame mapFrame = container.FindFrame(pActiveView.FocusMap) as IMapFrame; 58 /根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround 59 UID uid = new UIDClass(); 60 uid.Value = esriCarto.Legend; 61 IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null); 62 /设置图例的Title 63 ILegend2 legend = mapSurroundFrame.MapSurround as ILegend2; 64 legend.Title = 地图图例; 65 ILegendFormat format = new LegendFormatClass(); 66 ITextSymbol symbol = new TextSymbolClass(); 67 symbol.Size = 4; 68 format.TitleSymbol = symbol; 69 legend.Format = format; 70 /QI,确定mapSurroundFrame的位置 71 IElement element = mapSurroundFrame as IElement; 72 IEnvelope envelope = new EnvelopeClass(); 7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论