Ruta de movimiento de animación PPT personalizada de Java

Los efectos de animación se pueden configurar para formas en diapositivas PPT. Los efectos de animación comunes son tipos fijos incorporados, es decir, los efectos de animación y las rutas son plantillas fijas preestablecidas, pero al diseñar efectos de animación, los usuarios también pueden personalizarlos según sus propias preferencias. Defina la ruta de movimiento de la animación. A continuación, se utiliza el código del programa de back-end de Java para mostrar cómo implementar una ruta de acción personalizada.

El entorno de prueba incluye:

  • Documento de prueba de destino: Power Point 2013

  • Entorno de compilación: IntelliJ IDEA 2018

  • Versión de JDK: 1.8.0

  • Biblioteca PPT: spire.presentation.jar 4.3.2

Nota: Al agregar un tipo de animación (AnimationEffectType) a través de esta biblioteca PPT, se pueden agregar alrededor de 150 tipos diferentes. Este artículo toma la ruta de animación de configuración de tipo personalizado como un ejemplo para presentar.

Código de programa Java

 import com.spire.presentation. *; 
 import com.spire.presentation.collections.CommonBehaviorCollection; 
 import com.spire.presentation.drawing.FillFormatType; 
 import com.spire.presentation.drawing.animation. *; 
 
 import java.awt. * ; 
 import java.awt.geom.Point2D; 
 
 public class CustomAnimationPath { 
     public static void main (String [] args) throws Exception { 
         // Crear un documento PPT en blanco 
         Presentation ppt = new Presentation (); 
 
         // Obtener la primera diapositiva (La el nuevo documento de diapositiva ya contiene una diapositiva por defecto) 
         ISlide slide = ppt.getSlides (). get (0); 
 
         // Agrega una forma a la diapositiva 
         IAutoShape shape = slide.getShapes (). appendShape (ShapeType.FIVE_POINTED_STAR, new Rectangle ( 180, 100, 170, 170));
         shape.getFill (). setFillType (FillFormatType.GRADIENT); 
         shape.getFill (). getGradient (). getGradientStops (). append (0, KnownColors.LIGHT_PINK); 
         shape.getFill (). getGradient (). getGradientStops (). append (1, KnownColors.PURPLE); 
         shape.getShapeStyle (). getLineColor (). setColor (Color.white); 
 
         // Agrega un efecto de animación y establece el tipo de efecto de animación en PATH_USER (tipo personalizado) 
         AnimationEffect effect = slide.getTimeline () .getMainSequence (). addEffect (shape, AnimationEffectType.PATH_USER); 
 
         // Obtenga la colección CommonBehavior de animación personalizada 
         CommonBehaviorCollection commonBehaviorCollection = effect.getCommonBehaviorCollection (); 
 
         // Establezca el punto de partida y el modo de ruta del 
         movimiento de animación AnimationMotion motion = ( AnimationMotion) commonBehaviorCollection.get (0); 
         motion.setOrigin (AnimationMotionOrigin.LAYOUT); 
         motion.setPathEditMode (AnimationMotionPath.RELAditTIVE) ;
         // 设置 动作 路径
         MotionPath motionPath = new MotionPath (); 
         motionPath.addPathPoints (MotionCommandPathType.MOVE_TO, nuevo Point2D.Float [] {nuevo Point2D.Float (0,0)}, MotionPathPointsType.CURVE_AUTO, verdadero); 
         motionPath.addPathPoints (MotionCommandPathType.LINE_TO, nuevo Point2D.Float [] {nuevo Point2D.Float (0.1f, 0.1f)}, MotionPathPointsType.CURVE_AUTO, verdadero); 
         motionPath.addPathPoints (MotionCommandPathType.LINE_TO, nuevo Point2D.Float [] {nuevo Point2D.Float (-0.1f, 0.2f)}, MotionPathPointsType.CURVE_AUTO, verdadero); 
         motionPath.addPathPoints (MotionCommandPathType.END, nuevo Point2D.Float [] {}, MotionPathPointsType.CURVE_AUTO, verdadero); 
         // 设置 动作 路径 到 动画
         motion.setPath (motionPath); 
 
         // 保存 文档
         ppt.saveToFile ("resultado.pptx", FileFormat.PPTX_2013); 
         ppt.dispose (); 
     } 
 }

GIF 2021-3-18 13-51-52.gif





Supongo que te gusta

Origin blog.51cto.com/miayo/2664262
Recomendado
Clasificación