码迷,mamicode.com
首页 > Windows程序 > 详细

WPF 动画

时间:2017-08-30 11:58:25      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:不同   位置   分解   运行速度   映射   img   通过   alignment   集成   

  1. 动画的基础

动画是WPF的核心部分,随着对窗体程序体验的要求增加,动画表现越来越重要,WPF天生就是基于图形的,所以天生具有动画的基因,我们常说的动画,无非就三种方式实现:

  1. 逐帧动画

逐帧动画是一种常见的动画形式(Frame By Frame),其原理是在"连续的关键帧"中分解动画动作,也就是在时间轴的每帧上逐帧绘制不同的内容,使其连续播放而成动画。这就和我们的动画片的原理差不多,假如做过FLASH的人,估计对这个比较熟悉。

技术分享

  1. 线性插值

线性插值,也就是给定初始点集合和终止点集合,然后给定一个映射关系。对一一对应的点的位置,即对坐标、尺寸等进行线性插值的动画。

技术分享

  1. 路径动画

路径动画也属于线性插值的一种特殊类型,只是其明确指定了一个运行路径

  1. 时间轴Timeline

Timeline翻译过来就是所谓的时间轴,每个动画,都是在一定时间区间内运行,这个时间区间就是时间轴,时间轴能够控制动画的运行速度和运行长度等特征。

  1. WPF简单动画

WPF比较简单的动画,就是线性插值动画,其主要是通过改变元素的依赖属性实现的动画,但是这里要注意一个问题,就是实现修改依赖属性的动画,需要注意这些属性所对应的类型动画类,例如Width属于双精度类型,那么对应的动画类即为DoubleAnimation。

所以有上面这个限制,就决定了,不是所有的依赖属性都可以实现动画,只有对应类型的动画类,才可以实现动画,比如我们常用的HorizonalAlignment是一个枚举类型,其没有对应的动画类,那么就无法形成对应的动画。

  1. Animation

WPF中所有的动画类都继承自Animation,比如ColorAnimation和DoubleAnimation等,一般插值动画的命名规则就是"类型名+Animation"的方式,但是逐帧动画其主要的命名方式是"类型名+AnimationUsingKeyFrames"的形式进行命名。路径动画的主要命名规则是"类型名+AnimationUsingPath"。我们查看MSDN的System.Window.Media.Animation命名空间,可以知道WPF的动画中类繁多,如何能系统的学习这么多呢,其实只要我们掌握一个简单的DoubleAnimation,其他的基本的大同小异,记住一些基本的区别即可。因为XAML对泛型的支持不是很好,所以会造成这么多功能比较相似的动画类。我们先看看动画类的集成关系:

WPF 动画

标签:不同   位置   分解   运行速度   映射   img   通过   alignment   集成   

原文地址:http://www.cnblogs.com/minhost/p/7452111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!