`

MapxTreme2005地图打印

阅读更多
MapxTreme2005地图打印
一、语言: c# net2003
二、组件:Mapxtreme2005
三、功能概述:
        初步实现地图的加载,页面设置,打印预览及打印功能

五、实现思路与过程:
(当然在做这个程序的时候, Mapxtreme2005程序是必须安装的)
1. 启动 Microsoft Visual Studio .NET 2003,新建工程,在项目类型中选择MapXtreme6.5项目下的c#项目(当然,你可创建基于vb的工程,但该程序是建立在c# 项目上的),然后在模板中选择[地图应用程序],当然你可创建其他的应用程序,如windows应用程序等,然后设置工程名,我这里设工程名为:PrintingDemo,当然你可设置自己喜爱的工程名;到这里一个具有GIS基本功能的程序已设置完成,运行一下,是不是在MapX中花很大力气完成的功能,在这里并不需写一个字母,这就是[地图应用程序]模板的效果,让你快速搭建自己的应用程序。
2.开始编写自己想要的功能程序,在这里首先我们添加一个[MainMenu],然后添加[文件]菜单,并在下面设置如下四个下拉菜单:

加载地图:mItAddmap,

页面设置:mItPageSetting,

打印预览:mItPrintPreview,

打印:
mItPrintting。
并处理他们的单击事件。

3.为了实现打印功能,添加引用 [ MapInfo.Windows.Printing],然后再添加using 指令:
 
using MapInfo.Mapping;
using System.Drawing.Printing;
using MapInfo.Printing ;
using MapInfo.Mapping.Thematics;
using MapInfo.Engine;using MapInfo.Windows.Dialogs;
4.实现相关单击功能:
     添加三个变量:
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private MapInfo.Printing.MapPrinting mapPrinting;
private MapInfo.Printing.MapPrintDocument mapPrintDocument;
this.mapPrinting=new MapPrinting();
this.mapPrintDocument=new MapPrintDocument();
this.mapPrinting=new MapPrinting();
this.openFileDialog1=new System.Windows.Forms.OpenFileDialog();
加载地图的代码如下:
private void mItAddmap_Click(object sender, System.EventArgs e)
{
//进行文件的路径设置
openFileDialog1.InitialDirectory = Session.Current.TableSearchPath.Path;
//打开文件格式的自定义
openFileDialog1.Multiselect = true;
openFileDialog1.CheckFileExists = true;
openFileDialog1.DefaultExt = "TAB";
openFileDialog1.Filter = "MapInfo Tables (*.tab)|*.tab|" +"MapInfo Geoset (*.gst)|*.gst|" +"MapInfo WorkSpace (*.mws)|*.mws";
string strCantOpenList = null;
//判断不同类型的文档进行加载
if(openFileDialog1.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
foreach(string filename in openFileDialog1.FileNames)
try
{
if (filename.ToLower().EndsWith(MapLoader.FileExtensionGST))
mapControl1.Map.Load(new MapGeosetLoader(filename)); // add geoset
else if (filename.ToLower().EndsWith(MapLoader.FileExtensionWOR))
{
mapControl1.Map.Load(new MapWorkSpaceLoader(filename));
// add workspace
mapControl1.Map.Size = mapControl1.Size;
}
else mapControl1.Map.Load(new MapTableLoader(filename));
// add table
}
//若没找到正确的文件格式,则进行异常抛出
catch(MapException me)
{
if (strCantOpenList==null) strCantOpenList = me.Arg;
else strCantOpenList = strCantOpenList + ", " + me.Arg;
}
}
页面设置的代码如下:
private void mItPageSetting_Click(object sender, System.EventArgs e)
{
//加载当前地图
mapPrinting.Map = mapControl1.Map ;
//启动页面设置
mapPrinting.PageSettingsDialog ();
mapPrinting.PageSettings.PrinterSettings.PrinterResolutions.ToString();
}
打印预览的代码如下:
private void mItPrintPreview_Click(object sender, System.EventArgs e)
{
//加载当前地图
mapPrinting.Map = mapControl1.Map ;
//启动打印预览
mapPrinting.PrintPreview();
LegendPrinting legendPrinting=new LegendPrinting();
                    
}
打印的代码如下:
private void mItPrintting_Click(object sender, System.EventArgs e)
{
//加载当前地图
mapPrinting.Map =mapControl1.Map ;
//加载打印对话框
mapPrinting.ShowDialog =true;
mapPrinting.Print();
if (mapPrintDocument != null)
{
//设置打印地图的基本属性
mapPrintDocument.DrawingAttributes.SpecialTransparentRasterHandling =false;
bmapPrintDocument.PrintMethod = PrintMethod.Direct;
}
}
5.说明,由于是初学,打印代码没有涉及更深层次的,比如在打印时用户可进行自行定义等。
分享到:
评论

相关推荐

    mapxtreme2005

    - **打印支持**:为了满足用户在不同场景下的需求,MapXtreme2005提供了强大的打印支持功能,包括支持多种打印布局、输出格式和高级定制选项。 - **M/Z值在Shapefile中的应用**:Shapefile是一种常用的GIS数据格式。...

    MapXtreme2005开发人员指南

    这使得用户可以轻松地将复杂地图打印成高质量的图像。 #### Shapefile中的M和Z值 MapXtreme 2005现在支持在Shapefile中存储M(测量值)和Z(高程)值。这一功能对于需要三维数据的应用非常有用。 #### ECW光栅...

    mapxtreme 桌面完整示例

    7. **打印与导出**:示例可能涵盖如何设置打印参数,如比例尺、页边距,以及导出地图为PDF、图片等格式。 8. **地图样式与主题**:MapXtreme支持自定义图层样式,包括颜色、符号、标签等。通过示例,用户可以学会...

    MapXtreme for Java 例子集合

    9. `3cc15b668bc0594e85256dba006cc8bc.html`: 可能讲解了如何使用MapXtreme for Java进行地图打印和导出,以及如何自定义打印布局。 10. `37283420ad0ae5ac85256bb20074887f.html`: 最后一个文件可能涵盖了地图的...

    mapxtreme项目webgis

    在这个项目中,用户可以通过Web浏览器访问和操作地理信息,实现地图浏览、查询、标注、打印等功能。 源码对于开发者来说是一份宝贵的资源,因为它揭示了MapXtreme如何在实际应用中工作,帮助我们理解其内部机制,...

    mapxtreme 2008_6.8notes

    总之,MapXtreme 2008 v6.8.0 的发布标志着在地图制作和地理信息系统领域的一个重大进步。无论是新功能还是性能改进,都为开发者提供了更多的可能性。通过阅读详细的发行说明文档,用户可以充分利用这些新特性来提升...

    Mapxtreme for java 入门示例简单图解2(bak)

    Mapxtreme for Java是一款强大的地图开发工具,专为构建地理信息系统(GIS)应用程序而设计。在本入门示例中,我们将深入理解如何使用Mapxtreme的Servlet类来创建和展示地图服务。Mapxtreme的核心功能在于它能将复杂...

    mapxtreme c#开发

    MapXtreme提供了丰富的地图操作接口,包括但不限于地图的创建、显示、编辑和打印等。开发者可以利用MapXtreme提供的.NET组件在应用程序中实现地图数据的集成与可视化编程。 在C#环境下,MapXtreme的开发主要涉及...

    MapXtreme for Windows中文培训教材

    1. **地图创建**:MapXtreme提供了强大的地图制作工具,用户可以自定义地图样式、图层、比例尺等,创建符合需求的地图视图。这包括添加地理坐标系统、投影转换、图层管理和符号化设置。 2. **数据管理**:软件支持...

    mapxtreme2008动画

    - **地图打印**:支持地图的自定义布局和高分辨率打印。 3. **动画制作:** - **时间序列动画**:在MapXtreme 2008中,可以创建基于时间的动画,比如展示城市人口增长、交通流量变化等动态过程。 - **事件驱动...

    mapxtreme对象模型图

    标签提及的“PDF”可能指的是MapXtreme中用于导出地图至PDF格式的功能,这在分享或打印地图时非常有用。 进一步探索,“ILabelFilterInterface”、“ILabelPriorityInterface”、“ILabelSourceFilter”等接口展示...

    MapXtreme 2008 SCP Merge Modules(1)

    5. 打印和导出:将地图以高质图像或PDF格式输出,供打印或共享。 6. 性能优化:通过6.8.0版本的更新,可能包括了性能提升,使得地图操作更加流畅快速。 在开发过程中,MapXtreme 2008 SCP Merge Modules简化了集成...

    鼠标在地图上移动时得到鼠标的坐标

    根据提供的文件信息,本文将详细解析如何在Java环境下利用MapXtreme库获取鼠标在地图上移动时的坐标。此知识点对于开发具有交互式地图功能的应用程序尤其有用,例如地理信息系统(GIS)软件、在线地图服务等。 ### ...

    Mapinfo插件合集

    5. **地图打印与发布插件**: - **MapInfo Publish**:简化地图的打印和互联网发布流程,用户可以创建交互式在线地图,分享给他人。 - **PDF Export**:高质量地将地图导出为PDF格式,便于分发和打印。 6. **定制...

    mapinfo基础教程

    8. **地图导出与打印**:了解如何将地图布局设置为合适的尺寸和比例,导出为JPEG、PDF或其他图像格式,以便于报告或展示。同时,学习如何设置打印选项,确保地图清晰、准确地打印出来。 9. **MapInfo扩展功能**:...

    MapInfo实用教程

    地图布局和打印预览功能让你能设计专业级的地图报告。 在进行网络优化工作时,MapInfo的网络分析功能尤为重要。例如,它可以帮助计算最短路径、服务区域、覆盖范围等,这对于电信网络规划和维护非常有价值。 最后...

    mapinfo教学.rar

    7. **打印与输出**:了解如何将地图导出为图像文件,或设置页面布局进行高质量的打印,以便报告或展示。 8. **地图投影**:理解地图投影的基本原理,学习如何选择合适的投影方式以减少地理失真,确保数据的准确性。...

Global site tag (gtag.js) - Google Analytics