小编给大家分享一下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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。