国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Java 給PPT添加動畫效果的示例

瀏覽:104日期:2022-05-23 16:17:53

PPT幻燈片中對形狀可設(shè)置動畫效果,常見的動畫效果為內(nèi)置的固定類型,即動畫效果和路徑是預(yù)先設(shè)定好的固定模板,但在設(shè)計動畫效果時,用戶也可以按照自己的喜好自定義動畫動作路徑。下面,通過Java后端程序代碼來展示如何給PPT添加動畫效果。包括預(yù)設(shè)動畫以及自定動畫效果的方法。

本次測試環(huán)境包括: 目標(biāo)測試文檔:Power Point 2013 編譯環(huán)境:IntelliJ IDEA 2018 JDK版本:1.8.0 PPT庫版本:spire.presentation.jar 4.3.2

注:在通過該PPT庫來添加動畫類型(AnimationEffectType)時,可添加約150種不同類型。

Java程序代碼1. 添加預(yù)設(shè)動畫效果

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

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); //添加一個形狀到幻燈片 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è)置形狀動畫效果 slide.getTimeline().getMainSequence().addEffect(shape, AnimationEffectType.CHANGE_LINE_COLOR); //保存文檔 ppt.saveToFile('AddAnimationToShape.pptx', FileFormat.PPTX_2013); }}

Java 給PPT添加動畫效果的示例

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

import com.spire.presentation.*;import com.spire.presentation.drawing.animation.AnimationEffect;public class RepeatAnimation { public static void main(String[] args) throws Exception{ //加載測試文檔 Presentation ppt = new Presentation(); ppt.loadFromFile('test.pptx'); //獲取第一張幻燈片 ISlide slide = ppt.getSlides().get(0); //獲取幻燈片中第一個動畫效果 AnimationEffect animation = slide.getTimeline().getMainSequence().get(0); //設(shè)置動畫效果循環(huán)播放類型、次數(shù)、持續(xù)時間、延遲時間 animation.getTiming().setAnimationRepeatType(AnimationRepeatType.Number); animation.getTiming().setRepeatCount(2);//設(shè)置重復(fù)次數(shù) animation.getTiming().setDuration(2);//設(shè)置持續(xù)時間 animation.getTiming().setTriggerDelayTime(2);//設(shè)置延遲時間 //animation.getTiming().setAnimationRepeatType(AnimationRepeatType.UtilEndOfSlide);//設(shè)置動畫循環(huán)播放至幻燈片末 //animation.getTiming().setAnimationRepeatType(AnimationRepeatType.UtilNextClick);//設(shè)置動畫循環(huán)播放至下次點擊 //保存結(jié)果文檔 ppt.saveToFile('RepeatAnimation.pptx', FileFormat.PPTX_2013); ppt.dispose(); }}

Java 給PPT添加動畫效果的示例

2. 添加自定義動畫效果

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)建一個空白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); //添加動畫效果,并設(shè)置動畫效果類型為PATH_USER(自定義類型) AnimationEffect effect = slide.getTimeline().getMainSequence().addEffect(shape, AnimationEffectType.PATH_USER); //獲取自定動畫的CommonBehavior集合 CommonBehaviorCollection commonBehaviorCollection = effect.getCommonBehaviorCollection(); //設(shè)置動畫動作運動起點及路徑模式 AnimationMotion motion = (AnimationMotion)commonBehaviorCollection.get(0); motion.setOrigin(AnimationMotionOrigin.LAYOUT); motion.setPathEditMode(AnimationMotionPathEditMode.RELATIVE); //設(shè)置動作路徑 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è)置動作路徑到動畫 motion.setPath(motionPath); //保存文檔 ppt.saveToFile('result.pptx', FileFormat.PPTX_2013); ppt.dispose(); }}

Java 給PPT添加動畫效果的示例

以上就是Java 給PPT添加動畫效果的示例的詳細(xì)內(nèi)容,更多關(guān)于Java 給PPT添加動畫效果的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: ppt
相關(guān)文章:
主站蜘蛛池模板: 文安县| 泉州市| 遵义县| 寻乌县| 绥芬河市| 巴林左旗| 剑河县| 遂宁市| 剑河县| 体育| 太谷县| 定安县| 汨罗市| 洪江市| 连江县| 灵璧县| 迭部县| 新兴县| 四平市| 榆林市| 河西区| 苍梧县| 陇川县| 大城县| 祁阳县| 曲麻莱县| 方山县| 神农架林区| 诸城市| 忻州市| 资溪县| 北辰区| 汉源县| 永顺县| 贵溪市| 门源| 上思县| 孟连| 华阴市| 伊通| 阳信县|