PPT中的动画效教程果可分为已有c#教程内置动画以及自定义动画。设置python基础教程内置动画,只需直接指定动画java基础教程效果类型即可。本文主要介绍sql教程如何实现自定义动画,即自定义形状动作线性路径。附C#及代码供参考。
程序运行环境如下:
.Net Framework 4.8Visual StudioSpire.Presentation.dll6.4.5
所需引用的必要程序集文件如下图:
C#
using Spire.Presentation;using Spire.Presentation.Collections;using Spire.Presentation.Drawing.Animation;using System.Drawing;namespace CustomAnimation{class Program{static void Main(string[] args){//创建一个幻灯片文档(新建的文档已默认包含一页幻灯片)Presentation ppt = new Presentation();ISlide slide = ppt.Slides[0];//获取第一页空白幻灯片//添加形状(指定形状坐标、大小及相关格式设置)IAutoShape shape = slide.Shapes.AppendShape(ShapeType.FivePointedStar, new RectangleF(100, 50, 180, 180));shape.Fill.FillType = Spire.Presentation.Drawing.FillFormatType.Gradient;shape.Fill.Gradient.GradientStops.Append(0, KnownColors.SkyBlue);shape.Fill.Gradient.GradientStops.Append(1, KnownColors.Pink);shape.ShapeStyle.LineColor.Color = Color.White;//给形状设置动画效果AnimationEffect effect = ppt.Slides[0].Timeline.MainSequence.AddEffect(shape, AnimationEffectType.PathUser);CommonBehaviorCollection common = monBehaviorCollection;AnimationMotion motion = (AnimationMotion)common[0];motion.Origin = AnimationMotionOrigin.Layout;motion.PathEditMode = AnimationMotionPathEditMode.Relative;MotionPath moinPath = new MotionPath();moinPath.Add(MotionCommandPathType.MoveTo, new PointF[] { new PointF(0, 0) }, MotionPathPointsType.CurveAuto, true);moinPath.Add(MotionCommandPathType.LineTo, new PointF[] { new PointF(0.18f, 0.18f) }, MotionPathPointsType.CurveAuto, true);moinPath.Add(MotionCommandPathType.LineTo, new PointF[] { new PointF(-0.1f, 0.2f) }, MotionPathPointsType.CurveAuto, true);moinPath.Add(MotionCommandPathType.LineTo, new PointF[] { new PointF(0.25f, 0.2f) }, MotionPathPointsType.CurveAuto, true);moinPath.Add(MotionCommandPathType.End, new PointF[] { }, MotionPathPointsType.CurveStraight, true);motion.Path = moinPath;//保存文档ppt.SaveToFile("CustomAnimation.pptx", FileFormat.Pptx);System.Diagnostics.Process.Start("CustomAnimation.pptx");}}}
Imports Spire.PresentationImports Spire.Presentation.CollectionsImports Spire.Presentation.Drawing.AnimationImports System.DrawingNamespace CustomAnimationClass ProgramPrivate Shared Sub Main(args As String())'创建一个幻灯片文档(新建的文档已默认包含一页幻灯片)Dim ppt As New Presentation()Dim slide As ISlide = ppt.Slides(0)'获取第一页空白幻灯片'添加形状(指定形状坐标、大小及相关格式设置)Dim shape As IAutoShape = slide.Shapes.AppendShape(ShapeType.FivePointedStar, New RectangleF(100, 50, 180, 180))shape.Fill.FillType = Spire.Presentation.Drawing.FillFormatType.Gradientshape.Fill.Gradient.GradientStops.Append(0, KnownColors.SkyBlue)shape.Fill.Gradient.GradientStops.Append(1, KnownColors.Pink)shape.ShapeStyle.LineColor.Color = Color.White'给形状设置动画效果Dim effect As AnimationEffect = ppt.Slides(0).Timeline.MainSequence.AddEffect(shape, AnimationEffectType.PathUser)Dim common As CommonBehaviorCollection = monBehaviorCollectionDim motion As AnimationMotion = DirectCast(common(0), AnimationMotion)motion.Origin = AnimationMotionOrigin.Layoutmotion.PathEditMode = AnimationMotionPathEditMode.RelativeDim moinPath As New MotionPath()moinPath.Add(MotionCommandPathType.MoveTo, New PointF() {New PointF(0, 0)}, MotionPathPointsType.CurveAuto, True)moinPath.Add(MotionCommandPathType.LineTo, New PointF() {New PointF(0.18F, 0.18F)}, MotionPathPointsType.CurveAuto, True)moinPath.Add(MotionCommandPathType.LineTo, New PointF() {New PointF(-0.1F, 0.2F)}, MotionPathPointsType.CurveAuto, True)moinPath.Add(MotionCommandPathType.LineTo, New PointF() {New PointF(0.25F, 0.2F)}, MotionPathPointsType.CurveAuto, True)moinPath.Add(MotionCommandPathType.[End], New PointF() {}, MotionPathPointsType.CurveStraight, True)motion.Path = moinPath'保存文档ppt.SaveToFile("CustomAnimation.pptx", FileFormat.Pptx)System.Diagnostics.Process.Start("CustomAnimation.pptx")End SubEnd ClassEnd Namespace
动画效果:
原创内容,转载务必注明出处!