




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、wpf技术全称Windows Presentation FoundationWindows Presentation Foundation(以前的代号为“Avalon”)是 Microsoft 用于 Windows 的统一显示子系统,它通过 WinFX 公开。它由显示引擎和托管代码框架组成。Windows Presentation Foundation 统一了 Windows 创建、显示和操作文档、媒体和用户界面 (UI) 的方式,使开发人员和设计人员可以创建更好的视觉效果、不同的用户体验。Windows Presentation Foundation 发布后(计划在 2006 年),Wind
2、ows XP、Windows Server 2003 和以后所有的 Windows 操作系统版本都可以使用它。Windows Presentation FoundationWindows Presentation Foundation 由两个主要部分组成:引擎和编程框架。? Windows Presentation Foundation 引擎。Windows Presentation Foundation 引擎统一了开发人员和设计人员体验文档、媒体和 UI 的方式,为基于浏览器的体验、基于窗体的应用程序、图形、视频、音频和文档提供了一个单一的运行时库。Windows Presentation
3、Foundation 使得应用程序不仅能够充分利用现代计算机中现有的图形硬件的全部功能,而且能够利用硬件将来的进步。例如,Windows Presentation Foundation 的基于矢量的呈现引擎使应用程序可以灵活地利用高 DPI 监视器,而无需开发人员或用户进行额外的工作。 同样,当 Windows Presentation Foundation 检测到支持硬件加速的视频卡时,它将利用硬件加速功能。? Windows Presentation Foundation 框架。Windows Presentation Foundation 框架为媒体、用户界面设计和文档提供的解决方案远远
4、超过开发人员现在所拥有的。Windows Presentation Foundation 的设计考虑了可扩展性,使开发人员可以完全在 Windows Presentation Foundation 引擎的基础上创建自己的控件,也可以通过对现有 Windows Presentation Foundation 控件进行再分类来创建自己的控件。Windows Presentation Foundation 框架的核心是用于形状、文档、图像、视频、动画、三维以及用于放置控件和内容的面板的一系列控件。这些“自有控件”为开发下一代用户体验提供了构造块。Microsoft 在引入 Windows Prese
5、ntation Foundation 的同时,还引入了 XAML,这是一种公开表示 Windows 应用程序用户界面的标记语言,可使开发人员和设计人员用来构建和重用 UI 的工具更加丰富。对于 Web 开发人员,XAML 提供了熟悉的 UI 说明模式。XAML 还使 UI 设计从基础代码中分离出来,从而使开发人员和设计人员之间的合作更加紧密。为什么选择 Windows Presentation Foundation?对于企业,Windows Presentation Foundation 实现了改进的客户关系和不同的应用程序。通过提供能够快速提供更好的视觉效果、独特的用户体验的技术,来建立与客
6、户的密切关系,使企业可以建立稳定的数字客户关系和独特的品牌化机会。而且,由于 Windows Presentation Foundation 是窗体、文档、视频、三维以及其他功能的综合,因此企业可以创建持久的用户体验解决方案,并集成到客户的日常活动中。对于开发人员和设计人员,Windows Presentation Foundation 提供了统一的 UI 平台,因此他们只需学习一个模式,就可以获得无限可能的 UI 体验。对于 .NET 开发人员,其框架是熟悉的,并且它最终将减少提供最佳用户体验和通信逻辑所需的代码行数。对于设计人员,Windows Presentation Foundatio
7、n 提供的平台可消除内容、媒体和应用程序之间的边界。最重要的是,Windows Presentation Foundation 可以使开发人员和设计人员同步紧密地合作来快速提供不同的连通体验。目前开发界的对WPF响应程度目前已有很多人开始考虑或者已经转向WPF,一场新的学习热潮已经开始。但根据我最近的学习和了解,国内关于WPF的资料很少,除了msdn提供的资料以外,基本都是来自国外的资料,有些则是国外开发人员blog上的资料,当然都是英文的。因此如果现在能够引进一些WPF的书绝对是很好的时机。而且国外目前的几本WPF书也是刚刚上市,如果我们可以尽快引进的话,绝对可以帮助国内开发人员在最短时间内
8、赶上国际步伐。目前微软针对WPF提供的服务和支持随着Vista RTM的发布,微软新一轮的技术推广已经开始。其实在此之前,WPF已经有很大的推广,因为CTP版本已经发布了有一段日子了。当然很多开发人员主要以技术研究为主,也有少数公司已经开始从事基于WPF的产品研发工作。1. 目前WPF的正式版本已经发布(随.net framework 3.0正式版发布),你可以从msdn上免费下载2. 相应的技术支持已经开始,但目前仅限于大客户,主要做售前技术支持,对于普通开发人员的技术支持可能要等到明年2月份才会开始(个人知道的情况,请以微软官方技术支持网站发布的信息为准)3. WPF的VS2005插件目前
9、还只有社区预览版(CTP版),也是从msdn上免费下载的,但正式版恐怕还要等一段时间,但使用CTP版本确实已经可以在VS2005中进行所见即所得的WPF开发。4. WPF/E CTP版本已经发布,你可以在msdn上免费下载。同时发布的还有WPF/E Sample Pack for CTP。二、- 1 -基于Silverlight 的网页动画开发的研究彭庆喜,刘春燕,康卓,李林武汉大学东湖分校计算机学院,湖北武汉()E-mail:摘要: Silverlight 是微软近年推出的Web 前端技术,采用它进行网页开发成为程序员除了FLASH 外新的选择。首先讨论
10、了Silverlight 的特点和开发技术与XAML 语言。在此基础上对基于Silverlight 技术进行网页动画开发进行了分析。重点探讨了基于Silverlight 对页面元素进行二维和三维应用变换的方法。关键词:Silverlight;XAML;动画;变换中图分类号:TP3931. 引 言长期以来,在网页动画和网页游戏技术上占统治地位的是FLASH技术。然而微软在2007年9 月发布Silverlight1.0,随后又分别发布了2.0,3.0 和4.0。并且还发布了用于开发Silverlight应用的工具包Expression Studio。并且在其不断发展中,很多新的特性被加入。基于S
11、ilverlight进行网页动画的开发成为一种新的选择。本文对基于 Silverlight 进行网页动画开发进行了研究。2. Silverlight 概述WPF 是微软近年推出的展示层开发框架,Silverlight 的前身代号是“WPF/E”,也就是其Everywhere 版本。微软从2007 年到2010 年发布了Silverlight 的4 个版本。它作为一个浏览器插件,可以显示矢量图形、动画和视频。要运行Silverlight 就必须安装Microsoft 发布的插件。Silverlight 是一种跨浏览器、跨平台的技术。它能够在常见的Web 浏览器中运行,包括IE、Firefox、A
12、pple safari,并可以在Windows 和Apple Mac 平台上运行。Silverlight 是类似于Flash 的解决方案。Silverlight 和Flash 的主要区别是:一个Silverlight程序并不是传递给Flash 的播放器的一个编译好的二进制文件。相反,所有的代码都是基于标准的,且图像使用了XAML。Silverlight 最值得关注之处在于,实际上就是它创建出的UI 质量,它是真正以XAML 格式进行数据传输,到用户前端后再解析为具体图像,文本的大小是非常小的,所以不会占用太多带宽。Silverlight 在安全边界(沙盒)中运行,无法采用与传统的.NET 应用
13、程序相同的方式访问文件系统和其他的系统资源。默认情况下,限制对承载Silverlight 插件的HTML 页的访问。3. Silverlight 技术框架Silverlight 平台作为一个整体,由两个主要部分以及一个安装程序和更新组件组成。图1 就是Silverlight 的技术框架图。基金项目:武汉大学东湖分校教研项目中国科技论文在线- 2 -图 1 Silverlight 的技术框架图3.1 核心表示层框架核心表示层框架是面向 UI 和用户交互的组件和服务(包括用户输入(Inputs)、用于Web 应用程序的轻量型 UI 控件、媒体播放(Media)
14、、数字版权管理(DRM)、数据绑定以及表示层功能(UI Core),包括矢量图形、文本、动画和图像。此外还包括用于指定布局的可扩展应用程序标记语言 (XAML)。3.2 .NET Framework for Silverlight.NET Framework for Silverlight 是包含组件和类库的.NET Framework 的子集,包括数据集成、可扩展的Windows 控件、网络、基类库、公共语言运行时(CLR)。其中的部分组件随着应用程序一起发布。这些Silverlight 类库没有包含在Silverlight 运行时中,而是包含在SDK 中。如果在应用程序中用到了这些Silv
15、erlight 类库,这些类库就随着应用程序打包下载到用户浏览器,这些类库包括UI 控件、XLINQ、Syndication(RSS/Atom)、XML 序列化和动态语言运行时。3.3 安装程序和更新程序安装程序和更新程序是一个安装和更新控件,可以简化用户首次安装该应用程序的过程,以后可以提供自动更新。4. 创建动画在 Silverlight 中可以很好的进行动画开发。从编程角度看,Silverlight 程序使用的是.NET托管代码,可以用XAML 编写,XAML 是微软为Windows Vista 创建的基于XML 的标记语言。它提供了对动画和3D 众多方面的支持。XAML 可以用最简单的
16、文本编辑器编写,也可以使用图形工具(如Expression Blend)来创建XAML 代码。在 Silverlight 的动画设计中,用故事板管理时间线。另外动画类型分为两类:分别是线性插值动画(Linear Interpolation)和关键帧动画(Key-frame Animation)。中国科技论文在线- 3 -4.1 线性插值动画在线性插值动画中只要设置动画开始值(From),动画终止值(To)和动画相对改变值(By),就可以实现动画效果。其中From 是动画在时间线中的开始位置,To 是设置动画在时间线上的结束位置,By 和To 类似,但比To
17、 更灵活一些,设置By 不用关心具体属性数值改变,也不用关心动画具体经历的时长。该动画类型,只是三种动画数据类型类,分别是:DoubleAnimation、ColorAnimation 和PointAnimation。这三种类型类,分别用于Double数据类型,Color 数据类型和Point 数据类型。4.2 关键帧动画关键帧动画相比线性插值动画要更加灵活和强大。在关键帧动画中,可以不用指定具体的开始点和结束点,仅需设置关键帧和相关动画控制方法,Silverlight 将自动生成动画效果,这个动画类型有两个重要概念,关键帧和动画控制方法。关键帧就是对象属性值,每设置一个关键帧,也就是修改一次
18、对象属性值。动画控制方法就是动画过渡效果。默认提供三种过渡效果:线性(Linear)、离散(Discrete)和样条(Spline)。关键帧动画也有相应的数据类型类, 分别是DoubleAnimationUsingKeyFrames 、ColorAnimationUsingKeyFrames ,PointAnimationUsingKeyFrames 和ObjectAnimationUsingKeyFrames,其中前三种数据类型类和线性插值中对应三种类的相同。ObjectAnimationUsingKeyFrames 是关键帧动画特有的数据类型类,可以替代任何数据类型。4.2 故事板故事板(
19、StoryBoard)是管理时间线的类,可以使用该类管理和控制多个动画进程。如控制动画的播放、暂停、停止或者改变动画位置等功能,不仅如此,通过Storyboard 还可以为动画指定控件和属性。线性插值动画、关键帧动画和故事板是Silverlight 中支持动画的主要的类,它们都继承System.Windows.Media.Animation.Timeline,以下图2 是Silverlight 关于动画的简单类图。图 2 Silverlight 关于动画的简单类图中国科技论文在线- 4 -5. 应用变换5.1 二维变换Silverlight 包含了二维变换
20、元素,可以改变元素的尺寸和位置。还可以通过变换改变元素,如旋转或使它们倾斜。在图形字段中,转换可以定义为如何将一个坐标空间映射到另一个空间中。通常使用转换矩阵来描述转换,支持从一个系统向另一个系统进行简单的数学转换。Silverlight XAML将这个矩阵抽象化,并支持旋转、缩放、倾斜和平移四种转换。Silverlight XAML 还包含另外一种特殊的转换,可以定义和实现自己的矩阵,然后使用这个矩阵来合并其他转换。RotateTransform:使元素进行旋转,绕指定的中心点将元素旋转一个指定的角度。ScaleTransform:基于水平轴、垂直轴,或同时基于这两个轴更改元素大小。Skew
21、Transform:使一个元素按照某一个轴或原点倾斜。TranslateTransform:将元素在平面上平移。MatrixTransform:这是一种低级机制,能创建自定义的2D 变换。5.2 准三维变换WPF 支持三维变换,而Silverlight 不支持真正的3D。在Silverlight 3 中增加了新的特性透视变换PerspectiveTransform,可以让用户模拟在三维空间中的旋转。这并不是真正的3D我们把它称为准三维变换。透视变换能够使人感到对象朝向或者远离观察者进行旋转。Matrix3DProjection 和Matrix3D 类型用于更复杂的准3D 方案,其中前者是后者的
22、子类。要使用这些类,需要编写代码,以便正确地创建3D 变换矩阵。另外还可以使用PlaneProject进行变换。6. 总结几年来,Silverlight 发布了第1 版到第4 版。其对动画的支持越来越强大,并且开始支持脱离浏览器的动画应用。考虑到Silverlight 采用C#等技术方面的优势,很多开发人员都被吸引到Silverlight 的动画开发中来。随着网页游戏的流行,相信Silverlight 在网页动画开发方面能够得到更为广泛的应用。参考文献1 Gaston C.Hillar.3D Game Development with Microsoft Silverlight 3 Begin
23、ners GuideMUK: PacktPublishing, Sep. 20092 Adam Nathan 著,瞿杰译,Silverlight 揭秘M,北京:人民邮电出版社,2008.113 Silverlight 官网:EB/OL4 李爱民,刘晶,马维纲Silverlight 相关技术研究J,计算机技术与发展,2009.6,第19 卷:117-120.5 孙超,钟珞基于 Silverlight 的富界面应用研究J,武汉理工大学学报,2008.12,第30 卷:95-97Research on Web Animation Development Base
24、d onSilverlightPeng Qingxi,Liu Chunyan,Kang zhuo, Li linSchool of Computer, Donghu College of Wuhan University, Wuhan ChinaAbstract中国科技论文在线- 5 -Silverlight is the Web front-end technology launched by Microsoft. Using it to develop Webapplication becomes a new choice besides FLASH
25、for the programmer. In this paper, the features anddevelopment techniques of Silverlight and the XAML language have been discussed. Then animationdevelopment based on Silverlight has been analyzed. The paper focuses on the methods oftwo-dimensional and three-dimensional transformation based on Silve
26、rlight technology.Keywords: Silverlight; XAML; animation; transform中国科技论文在线基于Silverlight的网页动画开发的研究 时间: 2010-12-08 来源: 论文在线摘要:Silverlight是微软近年推出的Web前端技术,采用它进行网页开发成为程序员除了FLASH外新的选择。首先讨论了Silverlight的特点和开发技术与XAML语言。在此基础上对基于Silverlight技术进行网页动画开发进行了分析。重点探讨了基于Silverlight对页面元素进行二维和三维应用变换的
27、方法。关键词:Silverlight;XAML;动画;变换一、引言长期以来,在网页动画和网页游戏技术上占统治地位的是FLASH技术。然而微软在2007年9月发布Silverlight1.0,随后又分别发布了2.0,3.0和4.0。并且还发布了用于开发Silverlight应用的工具包Expression Studio。并且在其不断发展中,很多新的特性被加入。基于Silverlight进行网页动画的开发成为一种新的选择。本文对基于Silverlight进行网页动画开发进行了研究。二、Silverlight概述WPF是微软近年推出的展示层开发框架,Silverlight的前身代号是“WPF/E”,
28、也就是其Everywhere版本。微软从2007年到2010年发布了Silverlight的4个版本。它作为一个浏览器插件,可以显示矢量图形、动画和视频。要运行Silverlight就必须安装Microsoft发布的插件。Silverlight是一种跨浏览器、跨平台的技术。它能够在常见的Web浏览器中运行,包括IE、Firefox、Apple safari,并可以在Windows和Apple Mac平台上运行。Silverlight是类似于Flash的解决方案。Silverlight和Flash的主要区别是:一个Silverlight程序并不是传递给Flash的播放器的一个编译好的二进制文件。
29、相反,所有的代码都是基于标准的,且图像使用了XAML。Silverlight最值得关注之处在于,实际上就是它创建出的UI质量,它是真正以XAML格式进行数据传输,到用户前端后再解析为具体图像,文本的大小是非常小的,所以不会占用太多带宽。Silverlight在安全边界(沙盒)中运行,无法采用与传统的.NET应用程序相同的方式访问文件系统和其他的系统资源。默认情况下,限制对承载Silverlight插件的HTML页的访问。三、Silverlight技术框架Silverlight平台作为一个整体,由两个主要部分以及一个安装程序和更新组件组成。图1就是Silverlight的技术框架图。3.1 核心
30、表示层框架核心表示层框架是面向UI和用户交互的组件和服务(包括用户输入(Inputs)、用于Web应用程序的轻量型UI控件、媒体播放(Media)、数字版权管理(DRM)、数据绑定以及表示层功能(UI Core),包括矢量图形、文本、动画和图像。此外还包括用于指定布局的可扩展应用程序标记语言(XAML)。3.2 NET Framework for Silverlight.NET Framework for Silverlight是包含组件和类库的.NET Framework的子集,包括数据集成、可扩展的Windows控件、网络、基类库、公共语言运行时(CLR)。其中的部分组件随着应用程序一起发
31、布。这些Silverlight类库没有包含在Silverlight运行时中,而是包含在SDK中。如果在应用程序中用到了这些Silverlight类库,这些类库就随着应用程序打包下载到用户浏览器,这些类库包括UI控件、XLINQ、Syndication(RSS/Atom)、XML序列化和动态语言运行时。3.3 安装程序和更新程序安装程序和更新程序是一个安装和更新控件,可以简化用户首次安装该应用程序的过程,以后可以提供自动更新。四、创建动画在Silverlight中可以很好的进行动画开发。从编程角度看,Silverlight程序使用的是.NET托管代码,可以用XAML编写,XAML是微软为Wind
32、ows Vista创建的基于XML的标记语言。它提供了对动画和3D众多方面的支持。XAML可以用最简单的文本编辑器编写,也可以使用图形工具(如Expression Blend)来创建XAML代码。在Silverlight的动画设计中,用故事板管理时间线。另外动画类型分为两类:分别是线性插值动画(Linear Interpolation)和关键帧动画(Key-frame Animation)。4.1 线性插值动画在线性插值动画中只要设置动画开始值(From),动画终止值(To)和动画相对改变值(By),就可以实现动画效果。其中From是动画在时间线中的开始位置,To是设置动画在时间线上的结束位置
33、,By和To类似,但比To更灵活一些,设置By不用关心具体属性数值改变,也不用关心动画具体经历的时长。该动画类型,只是三种动画数据类型类,分别是:DoubleAnimation、ColorAnimation和PointAnimation。这三种类型类,分别用于Double数据类型,Color数据类型和Point数据类型。4.2 关键帧动画关键帧动画相比线性插值动画要更加灵活和强大。在关键帧动画中,可以不用指定具体的开始点和结束点,仅需设置关键帧和相关动画控制方法,Silverlight将自动生成动画效果,这个动画类型有两个重要概念,关键帧和动画控制方法。关键帧就是对象属性值,每设置一个关键帧,
34、也就是修改一次对象属性值。动画控制方法就是动画过渡效果。默认提供三种过渡效果:线性(Linear)、离散(Discrete)和样条(Spline)。关键帧动画也有相应的数据类型类,分别是DoubleAnimationUsingKeyFrames、ColorAnimationUsingKeyFrames,PointAnimationUsingKeyFrames和ObjectAnimationUsingKeyFrames,其中前三种数据类型类和线性插值中对应三种类的相同。ObjectAnimationUsingKeyFrames是关键帧动画特有的数据类型类,可以替代任何数据类型。4.3 故事板故事板(StoryBoard)是管理时间线的类,可以使用该类管理和控制多个动画进程。如控制动画的播放、暂停、停止或者改变动画位置等功能,不仅如此,通过Storyboard还可以为动画指定控件和属性。线性插值动画、关键帧动画和故事板是Silverlight中支持动画的主要的类,它们都继承System.Windows.Media.Animation.Timeline,以下图2是Silverlight关于动画的简单类图。图2 Silverlight关于动画的简单类图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 标准工程承包合同模板2篇
- 应急救援协议(医疗救护)4篇
- 企业间财产租赁合同范本2篇
- 保全车间绩效考核合同6篇
- 新解读《GB-T 30873-2014耐火材料 抗热震性试验方法》
- 新解读《GB-T 31017-2014移动实验室 术语》
- 新解读《GB-T 31124-2014聚碳酸亚丙酯(PPC)》
- 美甲店套餐出售合同范本
- 售后保密合同范本
- 矿产企业合作合同范本
- 某化工厂拆除施工方案化工旧设备拆除施工方案
- 智能传感器与传感器系统
- 数字媒体艺术概论
- 腹部触诊肛门直肠外生殖器
- 《抗病育种》课件
- 汽车吊装t梁施工方案(终)
- 《水循环》-完整版课件
- 库房温湿度记录表
- 小学生天然气安全知识
- 10KV电力安全工器具试验报告
- 6、crm管理制度客户冲突管理
评论
0/150
提交评论