使用VB.NET生成高质量MapPoint图像

ZDNet软件频道 时间:2006-10-24 作者:Builder.com.cn |  我要评论(7)
本文关键词:.Net .net VB.NET dotnettrend vb
正如本文所演示的,生成高质量MapPoint图像需要通过Microsoft Office Document Imaging和.NET Framework的相关程序化步骤。

微软的 MapPoint 能够为各类数据用户,从市场 MapPoint 开发销售人员到经理到决策者,提供有用的自定义信息。 正如本文所演示的,生成高质量 MapPoint 图像需要通过 Microsoft Office Document Imaging 和 .NET Framework 的相关程序化步骤。

微软的 MapPoint 程序是一款很好的软件,具有基于其 Web 的各类系统,包括其自身的联机版本无法比拟的优越性。它将自定义数据与 MapPoint 中内置的数据组相结合的能力,如人口统计信息等,为市场营销部门、销售人员、经理、主管,以及其他各类数据用户提供了一种极为有效的数据显示方式。

然而,其中的很多用户没有机会使用 MapPoint 软件。在其他情况下,一般有效的方式是向网页、演示,甚至另一个软件添加图示。令人悲哀的是,即使作为一个 ActiveX 控件内嵌,并通过其它 Windows 程序进行操作,微软的 MapPoint 也无法提供生成高质量图像的方法。

但是我将会告诉您如何通过使用简单的 vb.NET 代码和微软的 Office 技术生成高质量图像。我将会使用微软 MapPoint 、 Office Document Imaging 、 .NET 框架的制图程序,以及 .NET 框架的加工操作功能。

挑战

通过 MapPoint 获取成像文档的困难似乎源于微软方面的一个重大错误。不管是出于本身设计还是疏忽的缘故, MapPoint ActiveX 控件系统不能提供 Save As Image 即保存为图像的功能。最相近的办法是通过控件将图示以 HTML 页面保存,将成像文档从结果目录结构中提取出,然后删除文件的其他所有部分。

这是一个完全可行的解决方法。它提供的 256 色、低分辨率的 GIF 文档对于您和您的用户来说是可以接受并使用的。同样的,将 MapPoint ActiveX 控件内容复制到剪贴板的试验证明这种方法也是一种可能的解决办法。不幸的是,这种方法存在着一些问题。首先,在用户未发觉的情况下更改剪贴板内容是主要的缺陷。

想像一下,如果软件正在进行各种图像保存,而用户正在使用 Word 文档。 接着用户将重要段落剪贴到剪贴板。然后他将剪贴段落粘贴到其他地方——结果却粘贴上一幅图示。这样使用起来自然并不方便。更糟糕的是,当使用这种技术进行试验时,我发觉如果迅速地重复多次,错误便会很容易地出现,原因无法解释。所以必定有一个更好的方法。

解决方法

这个问题的解决在于微软 Office 系统鲜为人知的一方面: Microsoft Office Document Imaging ( MODI )。 MODI 把自身安装成微软 Office2003 系统的一部分。它还能够像已安装的打印机一样工作,使您能够打印任何软件的内容。它具有自身的文档格式,与 PDF 功能相似。它还可以将文件保存成 TIFF 文件形式。

MODI 功能是解决问题的关键。通过将内容打印到 MODI 打印机,然后控制其处理过程,您便可以将图像以高分辨率、高像素图像保存成 您想要的格式 ,绝对不会降低图像的质量!最后一步极为重要;由于是无损压缩,所以 TIFF 文件极为庞大。

并不是每个用户都有观看或操作 TIFF 文件的好软件,况且很多软件并不可行。用户经常被迫通过图表剪辑程序打开 TIFF 文件,然后选择整个图示,并复制选择区域,进而将图示粘贴到他们想要的地方。通过把图片转换成自己选择的格式,您把操控权转至了最终用户。

.Net

.net

VB.NET

dotnettrend

vb


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134