程序集: SuperMap.Layout (in SuperMap.Layout)
版本: dll
语法
C# |
---|
public class MapLayout : Component, IComponent, IDisposable |
备注
布局就是地图、地图比例尺、指北针、文本等各种不同地图内容的混合排版与布置,主要用于电子地图和打印地图。布局窗口,即 MapLayoutControl类,用于布局的显示窗口,提供布局中各类元素的可视化编辑与操作,同时布局还提供了诸如刻度尺(RulerSetting属性)、标尺线(RulerLines属性)等辅助要素,帮助布局中各个元素的位置与大小的定位。
另外,布局还可以输出成各种格式(BMP、JPG、PNG、EMF)的图片以及进行打印,并且提供了方便灵活的页面设置。
布局可以保存在与之关联的工作空间中的,通过工作空间中的布局集合,即 Workspace 类的 Layouts属性来获取和管理工作空间中存储的布局对象。
如下图所示,为一个布局窗口,窗口中显示了一个布局对象。
备注:
下面主要介绍布局的基本构成以及布局中的坐标关系。如下图所示,为布局窗口中显示的布局对象,布局窗口主要是布局对象显示的容器,提供了水平和垂直滚动条。布局对象包含了用于度量和定位的刻度尺、用来进行布局排版的纸面、以及可以添加到布局中的布局元素(地图对象、比例尺、指北针以及其他几何对象)。
布局的坐标单位为逻辑单位,即0.1毫米,也就是说在布局中屏幕坐标的一个单位为0.1毫米。当向布局中添加布局元素时,布局元素放置的位置坐标以及元素的尺寸单位均使用逻辑单位。例如:若将Element1元素放置到布局中(1200,1200)位置处时,实际是放置在距纸面原点(下图中绿色小圆点所示)(120mm,120mm)的位置处。
布局中的纸面对象,如下图所示,纸面对象的大小可以设置,下图的纸面大小为B5型号纸张的大小(182*257mm),下图中绿色的小圆点表示纸面的原点位置,即纸面尺寸量算的起始点,纸面的原点始终位于布局中(0,0)坐标点的位置;纸面原点到纸面边缘的垂直和水平距离(下图中橘黄色双箭头所示)分别为纸面的垂直和水平页边距。
示例
以下代码示范了如何向布局页面中添加布局元素。
public void TestMapLayout(MapLayout mapLayout,Map map) { //设置布局的纸张 mapLayout.Paper.Size = PaperSize.A4; //A4 210 x 297 mm mapLayout.Paper.Orientation = PaperOrientation.Landscape; String mapFileXML = map.ToXML(); //向布局中添加地图对象 GeoMap geoMap = new GeoMap(); geoMap.MapXML = mapFileXML; geoMap.ID = 1; geoMap.Shape = new GeoRectangle(mapLayout.Bounds.Center,2000,1500,0);//地图的宽度为200mm,高度为150mm mapLayout.Elements.AddNew(geoMap); mapLayout.Zoom(3); mapLayout.Refresh(); }
继承层次
System..::.MarshalByRefObject
System.ComponentModel..::.Component
SuperMap.Layout..::.MapLayout