溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用Java怎么給PPT添加動(dòng)畫效果

發(fā)布時(shí)間:2021-04-06 15:50:24 來(lái)源:億速云 閱讀:156 作者:Leah 欄目:開發(fā)技術(shù)

使用Java怎么給PPT添加動(dòng)畫效果?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

Java程序代碼

1. 添加預(yù)設(shè)動(dòng)畫效果

a. 新建PPT文檔,添加形狀,設(shè)置動(dòng)畫效果

import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
import com.spire.presentation.drawing.animation.AnimationEffectType;
import java.awt.*;
import java.awt.geom.Rectangle2D;

public class AddAnimationToShape {
 public static void main(String[]args) throws Exception{
  //創(chuàng)建PowerPoint文檔
  Presentation ppt = new Presentation();
  //獲取幻燈片
  ISlide slide = ppt.getSlides().get(0);

  //添加一個(gè)形狀到幻燈片
  IAutoShape shape = slide.getShapes().appendShape(ShapeType.CUBE, new Rectangle2D.Double(50, 150, 150, 150));
  shape.getFill().setFillType(FillFormatType.SOLID);
  shape.getFill().getSolidColor().setColor(Color.orange);
  shape.getShapeStyle().getLineColor().setColor(Color.white);

  //設(shè)置形狀動(dòng)畫效果
  slide.getTimeline().getMainSequence().addEffect(shape, AnimationEffectType.CHANGE_LINE_COLOR);

  //保存文檔
  ppt.saveToFile("AddAnimationToShape.pptx", FileFormat.PPTX_2013);
 }
}

使用Java怎么給PPT添加動(dòng)畫效果

 b.加載已有PPT文檔,獲取形狀動(dòng)畫效果,進(jìn)行動(dòng)畫效果設(shè)置,這里可做更為詳細(xì)的動(dòng)畫設(shè)置,包括動(dòng)畫重復(fù)播放類型、次數(shù)、持續(xù)時(shí)間、延遲時(shí)間等.

import com.spire.presentation.*;
import com.spire.presentation.drawing.animation.AnimationEffect;

public class RepeatAnimation {
 public static void main(String[] args) throws Exception{
  //加載測(cè)試文檔
  Presentation ppt = new Presentation();
  ppt.loadFromFile("test.pptx");
  //獲取第一張幻燈片
  ISlide slide = ppt.getSlides().get(0);
  //獲取幻燈片中第一個(gè)動(dòng)畫效果
  AnimationEffect animation = slide.getTimeline().getMainSequence().get(0);

  //設(shè)置動(dòng)畫效果循環(huán)播放類型、次數(shù)、持續(xù)時(shí)間、延遲時(shí)間
  animation.getTiming().setAnimationRepeatType(AnimationRepeatType.Number);
  animation.getTiming().setRepeatCount(2);//設(shè)置重復(fù)次數(shù)
  animation.getTiming().setDuration(2);//設(shè)置持續(xù)時(shí)間
  animation.getTiming().setTriggerDelayTime(2);//設(shè)置延遲時(shí)間
  //animation.getTiming().setAnimationRepeatType(AnimationRepeatType.UtilEndOfSlide);//設(shè)置動(dòng)畫循環(huán)播放至幻燈片末
  //animation.getTiming().setAnimationRepeatType(AnimationRepeatType.UtilNextClick);//設(shè)置動(dòng)畫循環(huán)播放至下次點(diǎn)擊

  //保存結(jié)果文檔
  ppt.saveToFile("RepeatAnimation.pptx", FileFormat.PPTX_2013);
  ppt.dispose();
 }
}

使用Java怎么給PPT添加動(dòng)畫效果

2. 添加自定義動(dòng)畫效果

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 {
  //創(chuàng)建一個(gè)空白PPT文檔
  Presentation ppt = new Presentation();

  //獲取第一張幻燈片(新建的幻燈片文檔默認(rèn)已包含一張幻燈片)
  ISlide slide = ppt.getSlides().get(0);

  //添加形狀到幻燈片
  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);

  //添加動(dòng)畫效果,并設(shè)置動(dòng)畫效果類型為PATH_USER(自定義類型)
  AnimationEffect effect = slide.getTimeline().getMainSequence().addEffect(shape, AnimationEffectType.PATH_USER);

  //獲取自定動(dòng)畫的CommonBehavior集合
  CommonBehaviorCollection commonBehaviorCollection = effect.getCommonBehaviorCollection();

  //設(shè)置動(dòng)畫動(dòng)作運(yùn)動(dòng)起點(diǎn)及路徑模式
  AnimationMotion motion = (AnimationMotion)commonBehaviorCollection.get(0);
  motion.setOrigin(AnimationMotionOrigin.LAYOUT);
  motion.setPathEditMode(AnimationMotionPathEditMode.RELATIVE);
  //設(shè)置動(dòng)作路徑
  MotionPath motionPath = new MotionPath();
  motionPath.addPathPoints(MotionCommandPathType.MOVE_TO,new Point2D.Float[]{new Point2D.Float(0,0)},MotionPathPointsType.CURVE_AUTO,true);
  motionPath.addPathPoints(MotionCommandPathType.LINE_TO,new Point2D.Float[]{new Point2D.Float(0.1f,0.1f)},MotionPathPointsType.CURVE_AUTO,true);
  motionPath.addPathPoints(MotionCommandPathType.LINE_TO,new Point2D.Float[]{new Point2D.Float(-0.1f,0.2f)},MotionPathPointsType.CURVE_AUTO,true);
  motionPath.addPathPoints(MotionCommandPathType.END,new Point2D.Float[]{},MotionPathPointsType.CURVE_AUTO,true);
  //設(shè)置動(dòng)作路徑到動(dòng)畫
  motion.setPath(motionPath);

  //保存文檔
  ppt.saveToFile("result.pptx", FileFormat.PPTX_2013);
  ppt.dispose();
 }
}

使用Java怎么給PPT添加動(dòng)畫效果

關(guān)于使用Java怎么給PPT添加動(dòng)畫效果問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI