-
2009-02-24
解密PowerPoint动画之颜色篇 - [PPT动画探索]
“颜色”是对象的一个重要属性,现实世界中颜色的变化是无穷的,而计算机不过是模拟现实世界,颜色变化是有限的,其精度受计算机字长的影响。“颜色”是一门大学科,它融艺术、审美、心理等于一体。
在PowerPoint中,用红色通道、绿色通道和蓝色通道描述颜色。可以通过二种方式来指定颜色:
(1)RGB函数,格式:RGB(r,g,b),r指定红色分量(其值范围0-255)、g指定绿色分量(其值范围0-255)、b指定蓝色分量(其值范围0-255),该函数返回一个单一纯色。
(2)从 32 位调色板中指定一种颜色,其格式为 #rrggbb,其中 rr 是指定红色相对量的两位十六进制数,gg 指定绿色相对量,bb 指定蓝色相对量。
颜色变化是PowerPoint动画中比较重要的部分,主要用于改变对象的填充色,线条色,字体色,项目符号色等。PowerPoint动画对象模型中提供了丰富的对象和属性,可以制造出非常丰富的颜色变化效果。
详细情况见下表:
对象或属性
参数
说明
备注
ColorEffect对象
By、From、To
代表动画动作的一种颜色效果。
简单的颜色变化
不支持关键帧
msoAnimColor
From、To
更精细地控制对象颜色变化
复杂的颜色变化
支持关键帧
msoAnimShapeFillBackColor
From、To
改变背景填充色
msoAnimShapeFillColor
From、To
改变前景填充色
msoAnimShapeLineColor
From、To
改变线条色
msoAnimShapeShadowColor
From、To
改变阴影色
msoAnimTextBulletColor
From、To
改变文本项目符号色
msoAnimTextFontColor
From、To
改变字体色
下面我们来做个红色滚动条动画。这个滚动条动画运用“属性”动作中的“msoAnimColor”属性,设置了三个关键点来表现颜色的变化。三个关键点的时间分配和值设置情况见下表:
关键帧
时间
值
1
0.0
26367v
2
0.2
6661119
3
1.0
10996735

动画效果图如下:

源文件下载:http://www.brsbox.com/filebox/down/fc/bdc0a8f4d755b7a2ab12ccb97602211b
-
2009-01-06
解密PowerPoint动画之缩放篇 - [PPT动画探索]
解密PowerPoint动画之缩放篇
“缩放”是指在二维 x-y 坐标系内沿水平或垂直方向拉伸或收缩对象。
您可以基于水平轴、垂直轴,或同时基于这两个轴更改对象的大小。如果缩放对象,至少需要指定其中一个绕其进行缩放的轴,同时还要指定希望针对该轴缩放的比例。
“缩放”是PowerPoint预定义动画中用得比较多的一种效果,PowerPoint提供了一些对象或属性让我们可以自如地操纵对象的放大或缩小,下图列出了我们可以操控的对象或属性:
(1)用ScaleEffect对象操纵缩放
ScaleEffect对象提供了一种简单方式来对对象进行拉伸或收缩,它有几个重要的属性,通过指定这些属性的值,你可以随意地让对象沿水平或者垂直方向拉伸或收缩。下表是对其属性的详细说明。
对象
属性 说明 备注 ScaleEffect ByX 按指定的屏幕宽度百分比水平缩放对象 沿水平方向 FromX 对象的初始宽度,其值以屏幕宽度的百分比形式表示 ToX 对象的最终宽度,其值以屏幕宽度的百分比形式表示 ByY 按指定的屏幕高度百分比水平缩放对象 沿垂直方向 FromY 对象的初始高度,其值以屏幕宽度的百分比形式表示 ToY 对象的最终高度,其值以屏幕宽度的百分比形式表示 注:上面六个属性值均为Single(单精度型)。
下面我们来看看PowerPoint预定义动画“爆炸”的动作设置:
“爆炸”中共有7个动作,其中包含3个缩放动作。这7个动作在时间线上的安排如下:
三个缩放动作的属性值设置如下图:
(2)利用对象的高度或宽度来操控缩放
在PowerPoint中,对象的“缩放”除了用ScaleEffect对象进行简单控制之外,还可以通过对象的高度和宽度进行更高级复杂的设置。PowerPoint动画对象模型中提供了SetEffect和PropertyEffect来访问对象的宽度和高度。
动作
属性 说明 备注 SetEffect Property 用于指定对象的属性,如对象的高度或宽度。 不支持关键帧 To 用于给对象的属性赋值,它是一个变体数据类型。 PropertyEffect Property 用于指定对象的属性,如对象的高度或宽度。 支持关键帧 From 用于给对象的属性赋开始值,它是一个变体数据类型。 To 用于给对象的属性赋结束值,它是一个变体数据类型。 下载:
http://www.brsbox.com/filebox/down/fc/8572c8abe781e0e50afe0bf52f9bc7dd -
2009-01-05
解密PowerPoint动画之滤镜篇 - [PPT动画探索]
PowerPoint定义了一系列的对象转换效果,如百叶窗,溶解等,我把这些效果称为“滤镜”,它们被封装在一个叫做FilterEffect的对象中,通过访问FilterEffect的Type属性来指定一种转换效果,通过SubType来指定其转换方式或方向。详细说明见下表:
动作
属性 说明 FilterEffect Type 指定一种转换类型 SubType 指定一种转换方式或方向 Reveal 如何显示嵌入对象,是从对象中心向外显示还是从对象外边向中心显示。 PowerPoint共内置了18种对象转换类型,大部分的转换类型都有可供选择的转换方式或方向,详细情况见下面的表格:
序号
滤镜类型 方式或方向 备注 1 劈裂 水平向内、水平向外、垂直向内、垂直向外 2 百叶窗 水平、垂直 3 盒状 内、外 4 棋盘 跨越 、下 5 圆形 内、外 6 菱形 内、外 7 溶解 无 8 渐变 无 9 图像 无 PPT播放器不支持 10 像素 无 PPT播放器不支持 11 十字形扩展 内、外 12 随机线条 水平、垂直 13 切入 左、右、顶、底 14 拉伸 无 PPT播放器不支持 15 阶梯状 左上、左下、右上、右下 16 扇形展开 无 17 轮子 1、2、3、4、8轮幅图案 18 擦除 左、右、顶、底 非常奇怪的是:PowerPoint虽然提供了“图像”、“拉伸”和“像素”三种转换效果,然而它们在PowerPoint中居然没有任何作用,只有把PPT另存为Html网页文件格式,我们才可以观察到它们非常炫人的效果。既然这三种转换在PPT中没有任何作用,微软为什么要在对象模型中提供呢,而且PowerPoint 2007中还赫然在列,实在是令人匪夷所思。
一个非常出彩的图片像素转换效果,PPT网页格式:http://www.brsbox.com/filebox/down/fc/a53e37cb868a663037219a2345009224
效果图“滤镜”在PowerPoint动画中是古老的品种,属于模式动画,大家用得多,见得也多,已经不新鲜了。要想老树发新芽,必须配合其它的动作。下面是一个非常好的例子:
模拟烟花效果:
http://www.brsbox.com/filebox/down/fc/c882417987755b2880f24ae7f99621df
效果图:这个例子包含了以下一些动作,其中用到了一个滤镜效果(向外溶解)。
-
2008-12-31
揭密PowerPoint动画之旋转篇 - [PPT动画探索]
(1)我的迷惑
在PowerPoint中,对象的旋转动作是在二维 x-y 坐标系内围绕对象的中心点顺时针或逆时针旋转指定的角度,让我迷惑不解的是:PowerPoint的旋转不能围绕一个指定的坐标点来旋转,因为它没有像sliverlight那样提供CenterX 和 CenterY,所以就不能进行转换,我非常渴望在PowerPoint下一个版本中能加入这样的控制。为了改变对象的旋转支点,很多的朋友想出了一个折衷的方法:用另外一个不可见的形状与原始形状组合,从而隐性地来改变原始形状旋转的支点,如下面:
注:上图中淡点的图形是不可见的。
另一个存在的问题是:PowerPoint中的旋转动作只能围绕Z轴旋转。更为奇怪是:微软的工程师为了弥补不能围绕X、Y轴旋转的问题,提供了一个预定义效果:旋转,它有两个选项:水平(绕Y轴)和垂直(绕X轴)。然而,我发现此旋转居然是假旋转,它不过是对象宽度和高度的变化,不信您看看下图:
这是垂直旋转,围绕X轴。
这是水平旋转,围绕Y轴。
当我发现这些东西时非常沮丧。是什么原因让微软的工程师弄出这么个假旋转出来,它看起来是如此粗糙,不生动。尽管如此,我们只能接受,接受它所能给与的所有东西。我没有能力来改变,只能从这些可见的东西中寻找更合理的设置,尽可能地让它看起来更真实些。
(二)真实的旋转
在PowerPoint中真实的旋转是“陀螺旋”,PowerPoint自定义动画工具提供了改变旋转度数的选项。
下面我们来看看PowerPoint中“陀螺旋”动画的秘密,见下图:
从上图中我们可以看到“陀螺旋”由一个“旋转”动作组成,由By控制旋转度数,没有用到From和To。
“旋转”动作由RotationEffect对象控制,有三个属性,其详细说明见下表:
动作
属性 说明 旋转 By 代表对象旋转的指定度数;例如,数值 180 表示对象旋转 180 度。可读写。 From 代表相对于屏幕(例如,90 度表示完全水平)指定的初始角度。可读写。 To 代表相对于屏幕所指定的对象的结束旋转角度(例如,90 度表示是完全水平的)。可读写。 下表概括了如何将 From、To 和 By 属性一起使用或单独使用来确定动画的目标值。
指定的属性
说明 From 和To 动画从 From 属性指定的值继续到 To 属性指定的值。 From 和By 动画从 From 属性指定的值继续到 From 与 By 属性之和所指定的值。 To 动画从进行动画处理的属性的基值或前一动画的输出值继续到 To 属性指定的值。 By 动画从正在进行动画处理的属性的基值或前一动画的输出值继续到该值与 By 属性指定的值之和。 By、From和To可以是一个正值或负值,均为Single类型值,正值表示顺时针,负值表示逆时针,如45.5表示顺时针旋转45.5度,-45.5表示逆时针旋转45.5度。
“陀螺旋”只能改变旋转度数,不能指定从哪个角度开始旋转。
“旋转”动作是一种简单的旋转,要处理更高级的旋转,PowerPoint在“属性”动作中提供了一个“旋转”属性,我们已经知道了“属性”动作是支持关键帧动画的,关键帧动画通过设置Time和Value来处理动画过程,因此我们可以处理更复杂一点的旋转。
例如我们可以这样来处理一个对象的旋转
关键帧
Time Value 1 0 0 2 0.1 30 3 0.2 -15 4 0.3 90 5 0.5 -45 6 0.7 180 7 1.0 360 下载PPT文件:
http://www.brsbox.com/filebox/down/fc/f9db807b546447f4c1e4be3a5e48fd95
(三)更合理的“假旋转”
PowerPoint预定义效果中的“旋转”非常滑稽地使用对象的高度和宽度来模拟对象绕X轴和Y轴旋转,它做得非常丑陋。现实世界中,一个物体绕X轴旋转一周,应该是转第一次,正面变反面,转第二次,反面变正面。如果你细心地去观察预定义中的“旋转”,你会发现它实际上是转了3次,原本不真实的东西现在看起来就更不真实了。我只好自己动手进行改造,让这样的“假旋转”更合理一些。
下载PPT文件:
http://www.brsbox.com/filebox/down/fc/00ca132c653a424e33ac2dbd302cb139 -
2008-12-30
解密PowerPoint动画之内插值篇 - [PPT动画探索]
由前面的知识,我们知道了PowerPoint不仅支持关键帧动画,而且还支持关键帧之间的内插值方法。动画的内插描述了动画在其持续时间内如何在各个值之间进行过渡。然而,令人失望的是,PowerPoint并没有提供用于设置内插的对象,它可能被深深隐藏了,不过,或许我们可以找到一种方法来解决这个难题,这只是我现在的一个遐想。虽然如此,但我还是忍不住用一个小节来专门阐述这个话题,尽管内插并不是一个新鲜的东西,便对于PowerPoint来说,它是神秘的。
居我所知,PowerPoint至少支持二种以上类型的内插方法:线性、离散。我现在还没有发现PowerPoint支持样条内插,或许它是支持的,只是我的能力有限,还没有方法来检测。
(1)线性内插(Liner)
线性内插在两个关键帧目标值之间采用自动补值的方式来产生平滑变化。
上图中采用关键帧来更改对象的颜色,有两个关键帧。我们假设整个动作的时间为1秒,关键帧1从 0.5秒开始,目标值为红色,关键帧2从1.0秒开始,目标值为黄色。综合起来说就是对象的颜色从0.5秒开始,经过0.5秒由红色渐变成黄色。在红色与黄色之间会自动插入一些颜色值,如下:
看看一个线性内插的例子:http://www.brsbox.com/filebox/down/fc/fe2706e62533f431c90e1a0767401d8d
(2)离散内插
与线性内插相反,离散内插在两个关键帧之间不插入任何值,而是直接从关键帧1的目标值变化为关键帧2的目标值。如下图所示:
看看一个离散内插的例子:
http://www.brsbox.com/filebox/down/fc/90ce18c34c5ac84a5520f3a4d6be7831
(3)样条内插
有90%的可能性,PowerPoint目前是不支持样条内插的,也许在未来,随着PowerPoint引入更多的silverlight特性,它就支持了。样条内插可用于达到更现实的计时效果。由于动画通常用于模拟现实世界中发生的效果,因此您可能需要精确地控制对象的加速和减速,并且需要严格地对计时段进行操作。通过样条关键帧,您可以使用样条内插进行动画处理。























