第一章 SilverLight介绍

现今的大多数图象是基于象素的,图象中的每个点都被表示为一个象素。在大多数情况下这是一个好

的解决方案,包括数字图象。但是他们也有缺点。比如,如图1.1所示,可以看到一个用Microsoft

Paint创建的简单文本。这个文本基于像素。在图1-2,你看到同样的文本。但此时图象的宽和高己经

被放大,你看到阶梯效果了吗?因此当将一个基于象素的图象放大时,损失了质量。
那很明显,当然,假设,一个100x100的象素图被重调尺寸到200x200像素,此时不是10000像素

。而是有40000像素。因而,在原图象中的1X1像素现在变为2x2像素。Paint使用了一个非常简单的

算法重调图象尺寸。如果图象变大了,只是简单的克隆像素。这将形成阶递效果。
专业的软件如Adobe PhotoShop带了几个相当有意义的算法,当重调图象大小时,使图象质量损失

减到最少。特别是当使图象变小时。然而,当变换图象尺寸时仍然有一些影响。
有一个可选择的方法:基于矢量的图象。图象中的每个元不是一个几何对象:一条线,一个圆,一个

多边形,一条曲线。主要的好处是当重调图像尺寸时,不会损失图象质量:圆只是变了他的宽度,那

就是全部,这里没有阶梯效果。它仍然是一个圆而不是其他的。不像一个象素图,是一些按圆形排列

的像素。

WPF

不久前,Microsoft的人坐下来为他们的Vista操作系统设计下一代的UI技术。(当然这个名字在以后

可能不同)。系统应该基于矢量和XML,最终被称为Windows Presentation Foundation(WPF).
有几个其他的项目也在试着使用XML创建矢量图象,最老的是W3C组织的矢量图象(SVG),SVG

图象被创建为使用XML,支持脚 本,且支持多大数现代浏览器,除了IE,然而。SVG没有成为市场主

流。仅在部分市场获得成功。包括移动电话和绘图方面。
其他相关的方法来自Adobe,Flex使用另外一种XML方言(称为MXML),动态创建FLASH内容。
WPF是.NET Framework3.0的一部分,默认被安装于Windows vista,且为XP和windows 2003

提供了附加的下载。.NET 3.0中包括的其他部分如下:
WCF(Windows Communication foundation):通信子系统。
WCS (Windows CardSpace)数字身份子系统。
WF(Windows WorkFlow Foundation):工作流子系统。

WPF应用程序可运行在浏览器或者是独立桌面应用程序。这两种情形都需要.NET Framework3.0或

其他更高的版本。当前,多数应用程是独立的。因为Vista并没有很高的市场份额,且.NET 3.0需要

下载。因此,Microsoft创建了一种类似的技术,目标为浏览器平台。称之为SilverLight。先看一看

WPF,以获取更多的背景信息。

WPF的主要焦点在于矢量图象,但是象素化的图象提供支持。WPF也支持来自音频或视频的多媒体内

容。一个显著的特性是支持文本。包括支持印刷特性的例如调整文字,字距和缩放。
所有的代码都可以使用.NET语言如C#和VB.NET来完成(在商业逻辑方面)。.NET Framework或

者准确一点,CLR在一个WPF应用程序中定义了每种可能类型的元素。允许一个在VS方面有开发经验

的人员快速创建应用程序。而且,提供了比XAML自身更多的API访问XAML。因此,为了掌握

好XAML/SilverLight,你需要自己熟悉标记和代码。
这里有几个WPF样版应用程序,包括几个“虚拟报纸”,用于呈现文本流。例如Forbers.com阅读器。

(见图1-4,下载地址http://www .forbes.com/partners/microsoft/newsreader/).下一

版yahoo。messenger将也有一个灵活的WPF界面特性。

XAML
需要知道,上一切提到的WPF内容不止是能使用XML创建。事实上,有一种特殊的格式(或XML方言

)用于那个目的:XAML(可扩展应用程序标记语言)。被用于WPF应用程序中的UI标记。WPF运行

时将解释这些标记,显示UI并且整合其他商业逻辑代码(如前所述,用.NET语言如C#或VB所写的代

码)。
微软也提供了几个工具开发XAML内容。可以使用VS,但是为了具有更多视觉体验,Express Blend

(Microsoft Expression Suite)一部分是一个有趣的选择。.NET Framework3.0也包括一个称为

XAMLPad的应用程序,该应用程序是是一个分割的视图,可以在同一时刻看到所有的XAML标记和实

际的WYSIWYG呈现,图1-5显示了XAMLPad行为。
当创建SilverLight内容时,你不必担心WPF,因为.NET Framework3.0中,开发或查看SilverLight

内容不是必须的。然而,你应该熟悉一些XAML,因为SilverLight支持XAML的一个子集用于创建UI

,因此,第4章将为你介绍Silverlight支持的更多重要的XAML元素。

更深的读物。
Programming WPF.

posted @ 2007-10-01 01:18  lincats  阅读(127)  评论(0编辑  收藏  举报