Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1067270
  • 博文数量: 264
  • 博客积分: 6005
  • 博客等级: 大校
  • 技术积分: 2798
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-08 20:15
文章分类

全部博文(264)

文章存档

2011年(42)

2010年(213)

2009年(4)

2008年(2)

2007年(3)

分类:

2010-03-06 22:57:36

嘿嘿,今天去中关村买了一本WPF的书,开始学习WPF。
呵呵。 已经忍MFC很长时间啦。 可惜公司还是要用MFC这老古董。公司的软件是MFC加上xml界面描述(跟wpf类似,不过实现起来挺费劲的),主程序加COM组建的形式(貌似挺牛的,想想要是用WPF,WCF应该实现更快吧,也更容易编写吧,可领导非要用老古董VC6+MFC)。也许我是错误的吧。可是我更追求新的技术。最近一段时间发现自己已经跟不上时代了,要学的东西太多了,也许是态度发生了点变化,什么都想学,以前是只学某一门东西。最近一段时间也是进步最快的一段时间。WPF在性能上有较大的改进,这点在使用WPF开发的Visual Studio 2010上体现极为明显。

呵呵,从网上抄点WPF的相关介绍吧。

WPF是什么? 对于一个不是长时间接触开发的人来说可能不太了解这一词汇。WPF被很多中国开发人员戏称为“我佩服”。它确实是一个功能比较强大的图形界面处理工具。

先让我们来回顾一下微软的各种界面显示技术:

User32:它提供了最基本的Windows界面,包括按钮,编辑框和其他UI元素。但是,User32缺乏的是图形图像的绘制功能,无法对屏幕 实现自定义的绘制。

GDI (Graphics device interface):- 为了提供图形图像的绘制功能,微软在User32的基础上引入了GDI。GDI不仅提供了图形图像的绘制功能,同时还对硬件显示进行了更高层次的抽象。换 句话说,它将硬件的复杂性封装在了GDI API中,用户使用起来更加方便。

GDI+:顾名思义,GDI+是作为GDI的扩展而被引入到Windows中的。它提供了很多GDI所没有的扩展功能,例如对JPG和PNG图像格 式支持,渐变阴影和抗锯齿等。无论是GDI还是GDI+,它们最大的局限就是不支持硬件加速,同时无法展现动画和3D图像。

提示:所谓硬件加速,就是使用硬件来执行某些功能,以替代使用软件在CPU中执行的某些功能,因为直接使用硬件,这样可以显著地加快图形图像处理的 速度。

DirectX :正如我们在上面所分析的那样,GDI及其扩展GDI+的一个最大问题就是不支持硬件加速和动画。这对于游戏开发者来说,是无法接受的。为了解决这个问 题,微软开发了DirectX。DirectX能够很好的利用硬件加速,能够支持3D,全彩图像,流媒体等等,非常适合游戏工业等对图形图像处理要求比较 高的领域。

那么WPF是什么呢?

微软已经有了这么多套关于显示技术的API,为什么还要多此一举,创建另外一套显示技术的API呢?通过对硬件加速的支持,DirectX已经有了 很多非常棒的特性。微软想利用支持硬件加速的DirectX技术来开发UI元素,比如文本框,按钮,网格等等,所以他们又在DirectX的基础上开发了 WPF。因为WPF是在DirectX的基础上实现的,所以你不仅可以利用WPF创建简单的UI元素,还可以更进一步,开发特殊的UI元素,例如网格 (Grid),流文档(FlowDocument)和椭圆(Ellipse)等。

更进一步地,你还可以利用WPF创建动画。如果你在寻找用于创建轻量级动画(不是游戏中所使用的那种复杂三维动画)的技术方案,WPF将是一个不错 的选择。你可以使用被称为XAML的XML文件来表现WPF。

WPF是什么,简单的讲,WPF就是DirectX之上的一层包装。所以,我们可以这样定义WPF:

WPF是一套用于简便地构建动态用户界面的类的集合。这些类包括了一套新的界面控件。其中有些控件跟旧有的UI元素是相似的,例如标签,文本框和按 钮等,而另外一些控件则是全新的,例如,网格(Grid),流文档(FlowDocument)和椭圆(Ellipse)等。


阅读(1554) | 评论(0) | 转发(0) |
0

上一篇:开始拥抱windows

下一篇:什么是SOA?

给主人留下些什么吧!~~