WPF动画

WPF动画
WPF动画使用三种方法:
(1)线性插值:在开始值和结束值之间以逐步增加的方式改变属性的动画(线性插值过 程)。
(2)关键帧:从一个值突然变成另一值的动画(关键帧动画)。所有关键帧动画都使用 "类型名 + AnimationUsingKeyFrames " 的形式进行命名,比如 StringAnimationUsingKeyFrames和ObjectAnimationUsingKeyFrames。
(3)路径。在System.Windows.Media.Animation名称空间中将发现以下内容: 7个 “类型名+Animation类” 这些类使用插值动画。 22个 “类型名+AnimationUsingKeyFrames” 这些类使用关键帧动画。 3个 "类型名+AnimationUsingPath"类这类使用基于路径的动画。
注意:
某些数据类型有关键帧动画类,但没有插值动画类。
所有具有(使用插值)常规动画类的数据类型,也都有相应的关键帧动画的动画类型。

动画创建
第 1 部分:创建 DoubleAnimation
第 2 部分:创建演示图板(故事版)
第 3 部分 (XAML):将演示图板与触发器关联(事件触发器)

故事板事件
Completed 动画已经到达终点
CurrentGlobalSpeedInvalidate d
速度发生了变化,或者动画被暂停、重新开 始、停止或移到某个新的位置。
CurrentStateInvalidated 动画已经开始或结束。
CurrentTimeInvalidated
动画时钟已经向前移动了一个步长,正在更改 动画。当动画开始、停止或结束时也会引发该 事件。
RemoveRequested 动画正在被移除。

动画取值为一个坐标的形式
取值范围: 0,0 到 1,1
0,0:表示左上角,如此设置后动画会以左上角为基准点开始;
0.5,0.5:表示中心;
1,1:表示右下角;

定义模板的方法有三种:
1.内联定义
2.定义为资源
3.通过Style定义

RenderTransform特效(变形)
变形元素:
平移变形TranslateTransform:能够让某对象的位置发生平移变化。
旋转变形RotateTransform:能够让某对象产生旋转变化,根据中心点进行顺时针旋转或逆时针旋转。
缩放变形ScaleTransform:能够让某对象产生缩放变化。
扭曲变形SkewTransform:能够让某对象产生扭曲(斜角)变化。
矩阵变形MatrixTransform:能够让某对象通过矩阵算法实现更为复杂的变形。
组合变形元素TransformGroup:变换集合,能够让某对象的缩放、旋转、扭曲等变化效果合并起来使 用(组合多个变换)

矩阵变形-源码用法(XAML 属性用法)
m11:第一行和第一列相交处的值 Matrix,默认值为 1。
m12:第一行和第二列相交处的值 Matrix,默认值为 0。
m21:第二行和第一列相交处的值 Matrix,默认值为 0。
m22:第二行和第二列相交处的值 Matrix,默认值为 1。
offsetX:第三行和第一列相交处的值 Matrix,默认值为 0。
offsetY:第三行和第二列相交处的值 Matrix,默认值为 0。
以上六个属性值都是System.Double类型

OffsetX和OffsetY控制水平和竖直方向的偏移。
M11控制X方向的伸缩,M22控制Y方向的伸缩。
M12,M21用来控制旋转的,顺时针旋转还是逆时针旋转根据情况而定(后面会说 到)。 如果Matrix不是按默认值(±1,0,0,±1)设置,那么就有可能做旋转操作,几种情 况分析如下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值