您好,登录后才能下订单哦!
小编给大家分享一下C# PowerPoint中如何添加、修改和删除动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
为了让PowerPoint文档更加精美,在制作文档的过程中,我们通常会给PowerPoint文档中的元素如形状、图片、表格等添加动画。本文将介绍如何使用.NET PowerPoint组件Spire.Presentation和C#编程的方式给PowerPoint中的形状添加动画,并修改和删除现有动画。
在开始前我们可以了解一下PowerPoint中的动画。在PowerPoint中,动画大致可分为以下四大类:
1. 进入
2. 强调
3. 退出
4. 动作路径
其中进入、强调和退出类型下有多种不同的预设动画效果,有些动画效果还可以添加子效果,例如“进入”分类下的“随机线条”动画效果,可以设置水平方向或垂直方向子效果(默认为水平方向)。下图展示了如何在PowerPoint中添加动画:

如何在Spire.Presentation中添加动画
Spire.Presentation支持约151种动画效果(可以在AnimationEffectType枚举中查看),这些动画效果及其所属分类和子效果,请参见文末附表。
在使用以下代码前,需要下载Spire.Presentation安装, 并从安装路径下引用Spire.Presentation.dll到工程中(或可从NuGet搜索Spire.Presentation并安装)。
添加动画
//加载文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("Input.pptx");
 
//获取第一张幻灯片
ISlide slide = ppt.Slides[0];
 
RectangleF rect = new RectangleF(50, 200, 200, 200);
//添加形状到幻灯片
IShape cubeShape = slide.Shapes.AppendShape(ShapeType.Cube, rect);
 
//给形状添加动画效果
AnimationEffectCollection sequence = slide.Timeline.MainSequence;
AnimationEffect effect = sequence.AddEffect(cubeShape, AnimationEffectType.Bounce);
 
//保存文档
ppt.SaveToFile("Output.pptx", FileFormat.Pptx2013); 
通常我们添加的动画效果默认是“进入”效果,下面的代码将介绍如何添加“退出”动画效果:
//加载文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("Input.pptx");
 
//获取第一张幻灯片
ISlide slide = ppt.Slides[0];
 
RectangleF rect = new RectangleF(50, 200, 200, 200);
//添加形状到幻灯片
IShape cubeShape = slide.Shapes.AppendShape(ShapeType.Cube, rect);
 
//给形状添加动画效果
AnimationEffectCollection sequence = slide.Timeline.MainSequence;
AnimationEffect effect = sequence.AddEffect(cubeShape, AnimationEffectType.RandomBars);
//将动画效果从默认的“进入”效果改为“退出”效果
effect.PresetClassType = TimeNodePresetClassType.Exit;
//给该动画添加子效果
effect.Subtype = AnimationEffectSubtype.Vertical;
 
//保存文档
ppt.SaveToFile("ExitAnimationEffect.pptx", FileFormat.Pptx2013); 
修改动画
对文档中的现有动画,我们可以对其进行修改。下面的代码将介绍如何修改现有动画的类型和持续时间。
修改动画类型
//加载文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("Output.pptx");
 
//获取第一张幻灯片
ISlide slide = ppt.Slides[0];
 
//修改第一个动画的类型
AnimationEffectCollection sequence = slide.Timeline.MainSequence;
sequence[0].AnimationEffectType = AnimationEffectType.GrowAndTurn;
 
//保存文本
ppt.SaveToFile("EditAnimationType.pptx", FileFormat.Pptx2013);修改持续时间
//加载文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("Output.pptx");
 
//获取第一张幻灯片
ISlide slide = ppt.Slides[0];
 
//修改第一个动画的持续时间
AnimationEffectCollection sequence = slide.Timeline.MainSequence;
sequence[0].Timing.Duration = 5;
 
//保存文档
ppt.SaveToFile("EditAnimationTime.pptx", FileFormat.Pptx2013);删除动画
//加载文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("Output.pptx");
 
//获取第一张幻灯片
ISlide slide = ppt.Slides[0];
 
//删除第一个动画
AnimationEffectCollection sequence = slide.Timeline.MainSequence;
sequence.RemoveAt(0);
 
//保存文档
ppt.SaveToFile("RemoveAnimation.pptx", FileFormat.Pptx2013);附表(Spire.Presentation中动画效果及其所属分类和子效果):
| 动画效果 | 分类 | 子效果 | 
| Appear | Entrance or Exit | EffectSubtype.None | 
| CurveUpDown | Entrance or Exit | EffectSubtype.None | 
| Ascend | Entrance or Exit | EffectSubtype.None | 
| Blast | Emphasis | EffectSubtype.None | 
| Blinds | Entrance or Exit | · EffectSubtype.Horizontal · EffectSubtype.Vertical | 
| Blink | Emphasis | EffectSubtype.None | 
| BoldFlash | Emphasis | EffectSubtype.None | 
| BoldReveal | Emphasis | EffectSubtype.None | 
| Boomerang | Entrance or Exit | EffectSubtype.None | 
| Bounce | Entrance or Exit | EffectSubtype.None | 
| Box | Entrance or Exit | · EffectSubtype.In · EffectSubtype.Out | 
| BrushOnColor | Emphasis | EffectSubtype.None | 
| BrushOnUnderline | Emphasis | EffectSubtype.None | 
| CenterRevolve | Entrance or Exit | EffectSubtype.None | 
| ChangeFillColor | Emphasis | · EffectSubtype.Instant · EffectSubtype.Gradual · EffectSubtype.GradualAndCycleClockwise · EffectSubtype.GradualAndCycleCounterClockwise | 
| ChangeFont | Emphasis | · EffectSubtype.Instant · EffectSubtype.Gradual | 
| ChangeFontColor | Emphasis | · EffectSubtype.Instant · EffectSubtype.Gradual · EffectSubtype.GradualAndCycleClockwise · EffectSubtype.GradualAndCycleCounterClockwise | 
| ChangeFontSize | Emphasis | · EffectSubtype.Instant · EffectSubtype.Gradual | 
| ChangeFontStyle | Emphasis | · EffectSubtype.FontBold · EffectSubtype.FontItalic · EffectSubtype.FontUnderline | 
| ChangeLineColor | Emphasis | · EffectSubtype.Instant · EffectSubtype.Gradual · EffectSubtype.GradualAndCycleClockwise · EffectSubtype.GradualAndCycleCounterClockwise | 
| Checkerboard | Entrance or Exit | · EffectSubtype.Vertical · EffectSubtype.Across | 
| Circle | Entrance or Exit | · EffectSubtype.In · EffectSubtype.Out | 
| ColorBlend | Emphasis | EffectSubtype.None | 
| ColorTypewriter | Entrance or Exit | EffectSubtype.None | 
| ColorWave | Emphasis | EffectSubtype.None | 
| ComplementaryColor | Emphasis | EffectSubtype.None | 
| ComplementaryColor2 | Emphasis | EffectSubtype.None | 
| Compress | Entrance or Exit | EffectSubtype.None | 
| ContrastingColor | Emphasis | EffectSubtype.None | 
| Crawl | Entrance or Exit | · EffectSubtype.Right · EffectSubtype.Left · EffectSubtype.Top · EffectSubtype.Bottom | 
| Credits | Entrance or Exit | EffectSubtype.None | 
| Custom | - | - | 
| Darken | Emphasis | EffectSubtype.None | 
| Desaturate | Emphasis | EffectSubtype.None | 
| Descend | Entrance or Exit | EffectSubtype.None | 
| Diamond | Entrance or Exit | · EffectSubtype.In · EffectSubtype.Out | 
| Dissolve | Entrance or Exit | EffectSubtype.None | 
| EaseInOut | Entrance or Exit | EffectSubtype.None | 
| Expand | Entrance or Exit | EffectSubtype.None | 
| Fade | Entrance or Exit | EffectSubtype.None | 
| FadedSwivel | Entrance or Exit | EffectSubtype.None | 
| FadedZoom | Entrance or Exit | · EffectSubtype.None · EffectSubtype.Center | 
| FlashBulb | Emphasis | EffectSubtype.None | 
| FlashOnce | Entrance or Exit | EffectSubtype.None | 
| Flicker | Emphasis | EffectSubtype.None | 
| Flip | Entrance or Exit | EffectSubtype.None | 
| Float | Entrance or Exit | EffectSubtype.None | 
| Fly | Entrance or Exit | · EffectSubtype.Right · EffectSubtype.Left · EffectSubtype.Top · EffectSubtype.Bottom · EffectSubtype.TopLeft · EffectSubtype.TopRight · EffectSubtype.BottomLeft · EffectSubtype.BottomRight | 
| Fold | Entrance or Exit | EffectSubtype.None | 
| Glide | Entrance or Exit | EffectSubtype.None | 
| GrowAndTurn | Entrance or Exit | EffectSubtype.None | 
| GrowShrink | Emphasis | EffectSubtype.None | 
| GrowWithColor | Emphasis | EffectSubtype.None | 
| Lighten | Emphasis | EffectSubtype.None | 
| LightSpeed | Entrance or Exit | EffectSubtype.None | 
| Path5PointStar | Path | EffectSubtype.None | 
| Path6PointStar | Path | EffectSubtype.None | 
| Path7PointStar | Path | EffectSubtype.None | 
| Path8PointStar | Path | EffectSubtype.None | 
| PathArcDown | Path | EffectSubtype.None | 
| PathArcLeft | Path | EffectSubtype.None | 
| PathArcRight | Path | EffectSubtype.None | 
| PathArcUp | Path | EffectSubtype.None | 
| PathBean | Path | EffectSubtype.None | 
| PathBounceLeft | Path | EffectSubtype.None | 
| PathBounceRight | Path | EffectSubtype.None | 
| PathBuzzsaw | Path | EffectSubtype.None | 
| PathCircle | Path | EffectSubtype.None | 
| PathCrescentMoon | Path | EffectSubtype.None | 
| PathCurvedSquare | Path | EffectSubtype.None | 
| PathCurvedX | Path | EffectSubtype.None | 
| PathCurvyLeft | Path | EffectSubtype.None | 
| PathCurvyRight | Path | EffectSubtype.None | 
| PathCurvyStar | Path | EffectSubtype.None | 
| PathDecayingWave | Path | EffectSubtype.None | 
| PathDiagonalDownRight | Path | EffectSubtype.None | 
| PathDiagonalUpRight | Path | EffectSubtype.None | 
| PathDiamond | Path | EffectSubtype.None | 
| PathDown | Path | EffectSubtype.None | 
| PathEqualTriangle | Path | EffectSubtype.None | 
| PathFigure8Four | Path | EffectSubtype.None | 
| PathFootball | Path | EffectSubtype.None | 
| PathFunnel | Path | EffectSubtype.None | 
| PathHeart | Path | EffectSubtype.None | 
| PathHeartbeat | Path | EffectSubtype.None | 
| PathHexagon | Path | EffectSubtype.None | 
| PathHorizontalFigure8 | Path | EffectSubtype.None | 
| PathInvertedSquare | Path | EffectSubtype.None | 
| PathInvertedTriangle | Path | EffectSubtype.None | 
| PathLeft | Path | EffectSubtype.None | 
| PathLoopdeLoop | Path | EffectSubtype.None | 
| PathNeutron | Path | EffectSubtype.None | 
| PathOctagon | Path | EffectSubtype.None | 
| PathParallelogram | Path | EffectSubtype.None | 
| PathPeanut | Path | EffectSubtype.None | 
| PathPentagon | Path | EffectSubtype.None | 
| PathPlus | Path | EffectSubtype.None | 
| PathPointyStar | Path | EffectSubtype.None | 
| PathRight | Path | EffectSubtype.None | 
| PathRightTriangle | Path | EffectSubtype.None | 
| PathSCurve1 | Path | EffectSubtype.None | 
| PathSCurve2 | Path | EffectSubtype.None | 
| PathSineWave | Path | EffectSubtype.None | 
| PathSpiralLeft | Path | EffectSubtype.None | 
| PathSpiralRight | Path | EffectSubtype.None | 
| PathSpring | Path | EffectSubtype.None | 
| PathSquare | Path | EffectSubtype.None | 
| PathStairsDown | Path | EffectSubtype.None | 
| PathSwoosh | Path | EffectSubtype.None | 
| PathTeardrop | Path | EffectSubtype.None | 
| PathTrapezoid | Path | EffectSubtype.None | 
| PathTurnDown | Path | EffectSubtype.None | 
| PathTurnRight | Path | EffectSubtype.None | 
| PathTurnUp | Path | EffectSubtype.None | 
| PathTurnUpRight | Path | EffectSubtype.None | 
| PathUp | Path | EffectSubtype.None | 
| PathUser | Path | EffectSubtype.None | 
| PathVerticalFigure8 | Path | EffectSubtype.None | 
| PathWave | Path | EffectSubtype.None | 
| PathZigzag | Path | EffectSubtype.None | 
| Peek | Entrance or Exit | · EffectSubtype.Bottom · EffectSubtype.Left · EffectSubtype.Right · EffectSubtype.Top | 
| Pinwheel | Entrance or Exit | EffectSubtype.None | 
| Plus | Entrance or Exit | · EffectSubtype.In · EffectSubtype.Out | 
| RandomBars | Entrance or Exit | · EffectSubtype.Horizontal · EffectSubtype.Vertical | 
| RandomEffects | Entrance or Exit | EffectSubtype.None | 
| RiseUp | Entrance | EffectSubtype.None | 
| Shimmer | Emphasis | EffectSubtype.None | 
| Sling | Entrance or Exit | EffectSubtype.None | 
| Spin | Emphasis | EffectSubtype.None | 
| Spinner | Emphasis | EffectSubtype.None | 
| Spiral | Entrance or Exit | EffectSubtype.None | 
| Split | Entrance or Exit | · EffectSubtype.HorizontalIn · EffectSubtype.HorizontalOut · EffectSubtype.VerticalIn · EffectSubtype.VerticalOut | 
| Stretch | Entrance or Exit | · EffectSubtype.Right · EffectSubtype.Left · EffectSubtype.Top · EffectSubtype.Bottom · EffectSubtype.Across | 
| Strips | Entrance or Exit | · EffectSubtype.UpLeft · EffectSubtype.UpRight · EffectSubtype.DownLeft · EffectSubtype.DownRight | 
| StyleEmphasis | Emphasis | EffectSubtype.None | 
| Swish | Entrance or Exit | EffectSubtype.None | 
| Swivel | Entrance or Exit | · EffectSubtype.Horizontal · EffectSubtype.Vertical | 
| Teeter | Emphasis | EffectSubtype.None | 
| Thread | Emphasis | EffectSubtype.None | 
| Transparency | Emphasis | EffectSubtype.None | 
| Unfold | Entrance or Exit | EffectSubtype.None | 
| VerticalGrow | Emphasis | EffectSubtype.None | 
| Wave | Emphasis | EffectSubtype.None | 
| Wedge | Entrance or Exit | EffectSubtype.None | 
| Wheel | Entrance or Exit | · EffectSubtype.Wheel1 · EffectSubtype.Wheel2 · EffectSubtype.Wheel3 · EffectSubtype.Wheel4 · EffectSubtype.Wheel8 | 
| Whip | Entrance or Exit | EffectSubtype.None | 
| Wipe | Entrance or Exit | · EffectSubtype.Top · EffectSubtype.Right · EffectSubtype.Bottom · EffectSubtype.Left | 
| Magnify | Entrance or Exit | EffectSubtype.None | 
| Zoom | Entrance or Exit | · EffectSubtype.In · EffectSubtype.Out · EffectSubtype.InCenter - only for Entrance type · EffectSubtype.OutBottom - only for Entrance type · EffectSubtype.OutSlightly · EffectSubtype.InSlightly · EffectSubtype.OutCenter - only for Exit type · EffectSubtype.InBottom - only for Exit type | 
注:Entrance表示“进入”, Exit表示“退出”,Emphasis表示“强调”,Path表示“动作路径”;EffectSubtype.None表示该效果无子效果。
以上是“C# PowerPoint中如何添加、修改和删除动画”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。