silverlight
发布时间:2022-05-04 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Essential Silverlight翻译连载---第一章 WPF基础,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
第一章 基础WPF 当今很多的图形都是基于像素的。图像中的每个点都由一个像素描绘。在很多场合,这是一个非常好的解决方案,包括数码摄影技术(当您希望维持像机中的每个单元信息都可见),但这也有一些缺点。比如,如图1-1所示,当您在微软的画图软件中观察简单的文字。这些文字是基于像素的,在图1-2中,你看见相同的文字,但这幅图像的高和宽被放大了。你是否看到锯齿?所以,一张基于像素的图像被放大时将
第一章 基础WPF
当今很多的图形都是基于像素的。图像中的每个点都由
一个像素描绘。在很多场合,这是
一个非常好的
解决方案,
包括数码摄影技术(当您希望维持像机中的每个单元信息都可见),但这也有一些缺点。比如,如图1-1所示,当您在微软的画图软件中观察简单的
文字。这些
文字是基于像素的,在图1-2中,你看见相同的
文字,但这幅图像的高和宽被放大了。你是否看到锯齿?所以,一张基于像素的图像被放大时将图像质量的下降。
这显而易见,例如,当把
一个100×100像素的图像放大为200×200像素。如何从10000像素变为40000像素呢?在原始图像中的1×1像素现在变为了2×2像素。绘图软件使用了
一个十分简单的算法去改变图像的尺寸:如果图像尺寸变大,仅仅克隆像素。这就形成了锯齿。
提示:专业的绘图软件如
Adobe的Photoshop使用了几个复杂的算法来保证当图像尺寸改变时的质量损失(特别当缩小图像时);然而,当图像放大时,对图像的影响还是很明显的。
解决这些问题的办法之一是:矢量图。图像中的每
一个元素都是几何对象:一条直线,
一个多边形,一条曲线,这里只例举了少数
名称。它最大的优势在于当改变图像尺寸时不会导致质量损失:
一个圆只需改变它的半径,仅此而已。它不
会出现锯齿,因为它还是
一个圆,而不是
一个基于像素的图像,一系列在圆形中排列的像素。
显然,并非所有的图像都可以用矢量描绘。我们再想想,理论上可以在肖像或风景中尽量找到几何元素或图案(这需要算法),但事实上不可能使用矢量去精确地描绘一幅图像。无论如何,矢量图像在计算机中的几个方面可以表现得更为真实。第
一个方面是字体。如图1-3所示的Windows字体(符合图1-1和1-2中的字体)。大部分字体是矢量的,所以不管
您使用8pt,10pt,12pt,还是100pt,它们的质量没有什么不同。如果在word中敲入字符并使字体变大,它的边缘仍然平滑。一旦您将
文字粘贴到基于像素的图像处理软件(如画图)后,
文字将失去矢量信息而变为像素。
另外
一个倾向于使用矢量的地方是
用户界面(UI)。标准的UI大多数时候是兼容矢量的。它们很多时候需要被改变大小,所以在
用户改变窗体大小时,它的
内容仍然被完整无缺地保留。尽管如此,实际上,很少有UI是基于矢量的。
WPF
不久以前,Microsoft公司为它们的Vista操作系统(当然,跟之前的
名称不同)设计一新的UI
生成技术。这套系统基于矢量并使
用XML技术。它最终命名为Windows Presentation Fundation(WPF)。
矢量图形和
XML
有几个项目也在试图使用矢量(可能是一些动画或商业逻辑
支持)来创建图形。时间最长的
一个是
World Wide Web Consortium’s(W3
C)的Scalable Vector Graphics(SVG)。SVG图形是使
用XML创建的,
支持脚本,并
支持除了internet Explorer之外的大多数先进的浏览器。然而,SVG在市场上并非主流,它只在有限的地方获得了成功,
包括移动电话和绘图。
另外
一个项目来自于
Adobe公司,Flex使用了另外一种XML语言(叫MXML)来动态生成Flash。
WPF是.NET Framework 3.0的
一个主要组成部分,
它在Vista操作系统中被
默认安装,并可以在Windows XP和Windows 2003中作为
插件下载。.NET3.0中的另外几个主要组成部分
包括:
WCF
(Windows Communication Foundation
)
通讯子系统
数字身份子系统
(译者注:原文是Digital identity subsystem,翻译可能不正确)
WF
(Windows Workflow Foundation
)
工作流子系统
WPF应用程序即可以运行在浏览器上也可以做为桌面应用程序单独运行。.NET Framework 3.0或更高版本应该都需要它。现在大多数的WPF应用程序被单独运行,因为Vista还没有达到很高的的市场占有率,另外下载.NET3.0需要花费太多时间。因此微软公司专门为浏览器创建了相似的技术:Silverlight。我们首先看看更多的关于WPF背景信息。
WPF的焦点主要在矢量图上,但同样对基于像素的图形有很好的
支持。WPF对于声音和视频数据也有很好的
支持。它的
一个亮点是对
文字的
支持,
包括文字的排版比如
文字对齐,字间距的调整和字母组合。
你不必惊奇,所有的商业逻辑
代码都使用.NET语言如C#和Visual Basic来完成。.NET Framework非常严谨,CLR(公共语言运行时)---定义了WPF应用程序中的每种可能的元素并且使用Visual
studio将会有
一个很好的编程体验(想想
代码提示)和
快速原型。同样,访问XAML所需要API提供了比XAML本身更多的
功能,所以为了发挥出XAML/Silverlight的功效,你需要同时熟悉标语语言和编程语言。
XAML
是否如
前面我们所讨论的那样,WPF是由XML来创建的呢?的确如此,为了达到这个目的使用了特殊格式的XML:XAML(
eXtensible Application MarkuP Language
)。它用于
WPF
应用程序中的
UI
标记。
WPF
运行时负责解释这些标记并显示标记,同时整合附加的商业逻辑代码(使用
.NET
语言如
C#
或
VB
完成的代码)。
微软提供了几个用于
XAML
开发的工具。您可以使用
Visual studio
,但如果希望有更好的视觉体验,可以考虑使用
Expression Blend
(
@H_661_138
@microsoft Expression Suite
产品的一部份)。
.NET Framework 3.0 SDK
还包括一个应用程序叫
SAMLPAD
,可以用于分栏显示:即可以看到标记语言,也可以在显示代码的同时显示其效果,从而达到所见即所得的效果,如图
1-5
所示。
当创建Silverlight应用时,无需担心是否已经安装了WPF,因为开发和浏览Silverlight时无需安装.NET Framework 3.0。尽管如此,您还
是需要了解一些XAML方面的知识,
因为Silverlight是XMAL的
一个子集。因此,第4章将介绍一些最重要
支持Silverlight的XAML元素
进阶读物
ProgrAMMing WPF (http://www.oreilly.com/catalog/9780596510374/index.html) by
Chris Sells and Ian Griffith (O’Reilly)
大佬总结
以上是大佬教程为你收集整理的Essential Silverlight翻译连载---第一章 WPF基础全部内容,希望文章能够帮你解决Essential Silverlight翻译连载---第一章 WPF基础所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。