《Practical WPF Charts and Graphics 》翻译——之二

来源:互联网 发布:如何下载旧版软件 编辑:程序博客网 时间:2024/06/01 08:36

关于作者

 

Jack Xu拥有一个理论物理学博士学位和15年的Basic, Fortran, C, C++, Matlab, and C#编程经验。他专门研究数值计算方法,算法,物理建模,计算机辅助设计(CAD)工具开发,图形用户接口和3D图形。他是很多.NET编程书的作者,其中包括《Practical C# Charts and Graphics》,《Practical WPF Graphics Programming》,《Practical Silverlight Programming》,《Practical Numerical Methods with C#》。

 

致谢

 

首先,我要感谢整个Apress团队,特别是我的编辑,Ewan Buckingham,感谢他给我写这本书的机会。他的信任,评论,疑问和耐心在我写作的时候帮助很大。我也要感谢的我文字编辑,Elliot Simon,感谢他确保所有的文字流畅而且符合Apress的书籍风格;和我的协调编辑,Anita Castro,感谢他放宽最后期限的限制。(for holding my feet to the fireto meet aggressive deadlines.

这本书没有我的技术编辑不可能完成,Todd Meister,他优秀和深刻的技术审核意见值得我最由衷的感谢。他的建议帮助我提升了整本书的质量。和也两次检查了所有的代码例子和技术提示,保证你们读者能够完完全全照着来。

同样,我要感谢我的妻子,Ruth Zhang博士,和我亲爱的孩子们Anna, Betty, and Tyler,感谢他们的耐心,理解和鼓励。


介绍

 

概要

 

欢迎阅读《WPF图表和图形实用手册》。这本书将给你提供所有你需要的使用WPF和基于.Net框架的C#开发专业图表和图形应用程序的工具。我希望这本书对所有不同层次的WPF和C#程序员都有用。

       我们都听说过“一图胜万言”这句谚语。图表和图形在每一个Windows应用程序中扮演重要角色。他们让数据变得更容易理解,使报告增加趣味,并且在日常生活中有很多这样的应用程序。科学,工程和数学社区通常需要用展示图形化的数据和结果。Microsoft的包含C#和WPF的.NET平台是少数优秀可以开发工具之一,能够提供作为仿真引擎生成数据和基于WPF图形能力进行图形化展示的计算能力。

       作为一个C#程序员,你们可能已经很熟悉Windows Forms了,这个成熟和特性丰富的开发工具。Windows Forms是构建在.NET框架上的,使用Windows API创建标准用户元素的视觉外观。他提供了所有窗口,菜单,对话框和控件布局的工具。你也可以使用图形设备接口(GDI+)开发基于Windows Forms的图形应用程序。然而,使用Windows Forms开发特性丰富的图形应用程序是一个艰难而枯燥的任务。举个例子,Windows Forms没有提供三维(3D)图形应用程序的工具。甚至一个3D坐标点,最简单的3D图形对象,在作为3D图形对象使用之前必须首先在一个合适的3D坐标系统进行定义。

       WPF完全改变了图形编程的方式。首先,你可以想象WPF仅仅提供了创建窗体,菜单,对话框和控件的另一种方式。但是,WPF比其他Windows编程框架提供的东西更多。它集成3个基本的编程元素——文本,控件和图形——到一个单独的编程模型里,而且用同样的方式将这个3个元素放到同样的元素树里。

       不使用WPF,开发一个图形应用程序将包含一些不同的技术,从2D图形的GDI/GDI+到3D图形的Direct3D或者OpenGL。WPF,相反,被设计成一个单独的图形应用程序开发模型,提供程序里这些服务的无缝集成。类似的构造能够用于创建动画,数据绑定和3D模型。

       为进一步利用崭新的,强大的图形硬件技术,WPF实现了一个基于矢量的图形模型。这允许图形进行基于特定屏幕分辨率的缩放而不减少图片质量,这些对固定大小的光栅图形来说不可能完成的事。另外,WPF充分利用Direct3D进行基于矢量的渲染,并利用任何视频卡上的图形处理单元在硬件里实现DirectX。

       通过WPF,图形元素能够轻易的被集成到用户接口的任何部分中。例如,WPF提供能像其他元素一样被包含到用户接口(UI)树2D的图形元素。你可以任意混合这些形状和其他任何元素,比如按钮。WPF 3D模型基于Direct3D技术,运行你创建一个可在你的项目中重用的自定义的3D图形库。WPF提供的创建3D图形最主要的好处就是它易于使用,和它将3D内容集成到程序任何地方的能力。

       你可能已经注意到,目前书店里有太多的关于WPF编程的书籍。大部分这类书是解释WPF基础和怎么用它实现简单的WPF应用程序的通常意义上的用户指南和教程。为了帮助读者充分利用WPF的图形特性,因此,需要一本能够提供给深入讲解WPF图表和图形编程介绍书籍。

       写这本书是怀着提供一个完整和全面的WPF图表和图形功能的目的,并且特别专注创建各种能直接在现实的WPF程序中使用的图表。这本书很多地方包含基于我的以前开发数值辅助计算(CAD)包的编程经验的原创作品。没有WPF和.NET框架,开发高级图表和图形是艰难和费时的任务。添加一个简单的图表或者图形到你的应用程序,你可能不得不浪费精力创建一个图表程序或者购买商业的图形或者图表的附加包。

       但是,在你的应用程序里使用第三方图形和图表附加产品有一些缺点:

  •   成本高——一个复杂的图形和图表包可能花费成千上万的钱。
  •   兼容性是个问题——这些第三方的图形和图表附加工具通常以DLL或者COM组件的形式提供,可能经常导致意料之外的接口异常和不安全的操作。
  •   灵活性不够——从用户的角度来说,因为通常未提供源码,这些包看起来像黑盒,用户很难添加和修改任何功能。你可能发现,这些第三方产品缺乏你在应用程序中想要得到特殊的特性,尽管这些产品经常提供你可能永远用不到的过剩的功能。
  •   编码效率不高——这第三方附加工具经常包含巨大的包,里面包含的功能比你应用程序想要的多得多。就算是一个简单的程序,最终的发行版会因为这些第三方附加工具变得巨大无比。这样代码管理和部署效率会很低。
  •   许可使用费是另外一个问题——一些第三方附件不仅需要开发许可,还需部署许可费,这就导致开发费用的不必要的增长。
  •   最后,维护时一个问题——大多数情况,第三方工具使用和你在开发你的应用程序时不同的编程语言,因此你必须通过非托管的方式维护这些代码。

《WPF图表和图形实用手册》提供了所有你需要的在你的WPF应用程序中创建高级图表和图形的东西。它告诉你怎么使用C#和WPF去创建各种图表和图形,从简单的2D X-Y图到复杂的3D表面图。我将尽力用简单的方式给你介绍C#和WPF图表和图形编程——足够简单到一个以前没有WPF图形和图表程序开发经验的新手很容易遵循。你能从这本书中学到怎么样创建一个全面包括2D和3D颜色图形应用程序,和怎么样在无需购买贵重的第三方附加产品的情况下使用自定义图表控件去创建令人印象深刻的图形和图表效果。


 

这本书包括什么

 

这本书和它的代码,可以在Apress的网站和我的网站,www.DrXuDotNet.com,上下载,提供以下资源:

  •   一个完整的,深入的C#和WPF实用图表和图形编程指导。读完这本书和运行这些例子程序之后,你能添加更多复杂的图形和图表到你的WPF应用程序。
  •  现成可运行的例子程序可以让你探索本书里图表和图形技术。你可以使用这些例子去更好地理解图表和图形算法的工作原理。你可以修改这些代码例子或者给他们增加新特性以形成你的程序基础。本书提供的一些例子程序代码列表是已经可以直接在你自己的现实中的WPF程序中使用复杂的图形和图表包
  •   例子代码列表里许多你会发现在你的WPF图表和图形编程中有用的类。这些类包括矩阵操作,坐标变换,颜色拾取图,图表控件,和其他有用的辅助类。你可以提取这些类然后插入你自己的应用程序中。

原创粉丝点击