Formenanimation
Animationen sind visuelle Effekte, die auf Texte, Bilder, Formen oder Diagramme angewendet werden können. Sie erwecken Präsentationen oder deren Bestandteile zum Leben.
Warum Animationen in Präsentationen verwenden?
Mit Animationen können Sie
- den Informationsfluss steuern
- wichtige Punkte hervorheben
- das Interesse oder die Beteiligung Ihres Publikums steigern
- Inhalte leichter lesbar oder verständlich machen
- die Aufmerksamkeit Ihrer Leser oder Zuschauer auf wichtige Teile einer Präsentation lenken
PowerPoint bietet viele Optionen und Werkzeuge für Animationen und Animationseffekte in den Kategorien Eingang, Austritt, Hervorhebung und Bewegungsbahnen.
Animationen in Aspose.Slides
- Aspose.Slides bietet die Klassen und Typen, die Sie benötigen, um mit Animationen im
Aspose.Slides.Animation
Namensraum zu arbeiten. - Aspose.Slides bietet über 150 Animationseffekte im EffectType Aufzählung. Diese Effekte sind im Wesentlichen dieselben (oder äquivalenten), die in PowerPoint verwendet werden.
Animation auf TextBox anwenden
Aspose.Slides für Android über Java ermöglicht es Ihnen, Animationen auf den Text in einer Form anzuwenden.
- Erstellen Sie eine Instanz der Presentation Klasse.
- Erhalten Sie eine Folienreferenz über ihren Index.
- Fügen Sie eine
rectangle
IAutoShape hinzu. - Fügen Sie Text zu IAutoShape.TextFrame hinzu.
- Holen Sie die Hauptsequenz von Effekten.
- Fügen Sie einen Animationseffekt zu IAutoShape hinzu.
- Setzen Sie die
TextAnimation.BuildType
Eigenschaft auf den Wert aus derBuildType
Aufzählung. - Schreiben Sie die Präsentation auf die Festplatte als PPTX-Datei.
Dieser Java-Code zeigt Ihnen, wie Sie den Fade
Effekt auf AutoShape anwenden und die Texteanimation auf den Wert Nach 1. Ebene Absätzen setzen:
// Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
Presentation pres = new Presentation();
try {
ISlide sld = pres.getSlides().get_Item(0);
// Fügt eine neue AutoShape mit Text hinzu
IAutoShape autoShape = sld.getShapes().addAutoShape(ShapeType.Rectangle, 20, 20, 150, 100);
ITextFrame textFrame = autoShape.getTextFrame();
textFrame.setText("Erster Absatz \nZweiter Absatz \nDritter Absatz");
// Holt die Hauptsequenz der Folie.
ISequence sequence = sld.getTimeline().getMainSequence();
// Fügt einen Fade-Animationseffekt zur Form hinzu
IEffect effect = sequence.addEffect(autoShape, EffectType.Fade, EffectSubtype.None, EffectTriggerType.OnClick);
// Animiert den Text der Form nach 1. Ebene Absätzen
effect.getTextAnimation().setBuildType(BuildType.ByLevelParagraphs1);
// Speichert die PPTX-Datei auf der Festplatte
pres.save(path + "AnimText_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Animation auf PictureFrame anwenden
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie eine Folienreferenz über ihren Index.
- Fügen Sie einen PictureFrame zur Folie hinzu oder holen Sie ihn.
- Holen Sie die Hauptsequenz von Effekten.
- Fügen Sie einen Animationseffekt zu PictureFrame hinzu.
- Schreiben Sie die Präsentation auf die Festplatte als PPTX-Datei.
Dieser Java-Code zeigt Ihnen, wie Sie den Fly
Effekt auf einen PictureFrame anwenden:
// Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
Presentation pres = new Presentation();
try {
// Lädt das Bild, das der Präsentations-Bildersammlung hinzugefügt werden soll
IPPImage picture;
IImage image = Images.fromFile("aspose-logo.jpg");
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
// Fügt den PictureFrame zur Folie hinzu
IPictureFrame picFrame = pres.getSlides().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, picture);
// Holt die Hauptsequenz der Folie.
ISequence sequence = pres.getSlides().get_Item(0).getTimeline().getMainSequence();
// Fügt einen Fly von Links Animationseffekt zum PictureFrame hinzu
IEffect effect = sequence.addEffect(picFrame, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick);
// Speichert die PPTX-Datei auf der Festplatte
pres.save(path + "AnimImage_out.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (pres != null) pres.dispose();
}
Animation auf Shape anwenden
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie eine Folienreferenz über ihren Index.
- Fügen Sie eine
rectangle
IAutoShape hinzu. - Fügen Sie eine
Bevel
IAutoShape hinzu (wenn dieses Objekt angeklickt wird, wird die Animation abgespielt). - Erstellen Sie eine Sequenz von Effekten auf der Bevel-Form.
- Erstellen Sie einen benutzerdefinierten
UserPath
. - Fügen Sie Befehle zum Bewegen zum
UserPath
hinzu. - Schreiben Sie die Präsentation auf die Festplatte als PPTX-Datei.
Dieser Java-Code zeigt Ihnen, wie Sie den PathFootball
(Pfad Fußball) Effekt auf eine Form anwenden:
// Instanziiert eine Präsentationsklasse, die eine PPTX-Datei darstellt.
Presentation pres = new Presentation();
try {
ISlide sld = pres.getSlides().get_Item(0);
// Erstellt den PathFootball Effekt für eine bestehende Form von Grund auf.
IAutoShape ashp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 150, 150, 250, 25);
ashp.addTextFrame("Animations-TextBox");
// Fügt den PathFootBall Animationseffekt hinzu
pres.getSlides().get_Item(0).getTimeline().getMainSequence().addEffect(ashp, EffectType.PathFootball,
EffectSubtype.None, EffectTriggerType.AfterPrevious);
// Erstellt eine Art "Taste".
IShape shapeTrigger = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Bevel, 10, 10, 20, 20);
// Erstellt eine Sequenz von Effekten für diese Taste.
ISequence seqInter = pres.getSlides().get_Item(0).getTimeline().getInteractiveSequences().add(shapeTrigger);
// Erstellt einen benutzerdefinierten Benutzerpfad. Unser Objekt wird nur nach dem Klicken auf die Taste bewegt.
IEffect fxUserPath = seqInter.addEffect(ashp, EffectType.PathUser, EffectSubtype.None, EffectTriggerType.OnClick);
// Fügt Befehle für die Bewegung hinzu, da der erstellte Pfad leer ist.
IMotionEffect motionBhv = ((IMotionEffect)fxUserPath.getBehaviors().get_Item(0));
Point2D.Float[] pts = new Point2D.Float[1];
pts[0] = new Point2D.Float(0.076f, 0.59f);
motionBhv.getPath().add(MotionCommandPathType.LineTo, pts, MotionPathPointsType.Auto, true);
pts[0] = new Point2D.Float(-0.076f, -0.59f);
motionBhv.getPath().add(MotionCommandPathType.LineTo, pts, MotionPathPointsType.Auto, false);
motionBhv.getPath().add(MotionCommandPathType.End, null, MotionPathPointsType.Auto, false);
// Schreibt die PPTX-Datei auf die Festplatte
pres.save("AnimExample_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Die angewendeten Animationseffekte auf eine Form abrufen
Sie können sich entscheiden, alle Animationseffekte, die auf eine bestimmte Form angewendet wurden, herauszufinden.
Dieser Java-Code zeigt Ihnen, wie Sie alle Effekte abrufen, die auf eine bestimmte Form angewendet wurden:
// Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
Presentation pres = new Presentation("AnimExample_out.pptx");
try {
ISlide firstSlide = pres.getSlides().get_Item(0);
// Holt die Hauptsequenz der Folie.
ISequence sequence = firstSlide.getTimeline().getMainSequence();
// Holt die erste Form auf der Folie.
IShape shape = firstSlide.getShapes().get_Item(0);
// Holt alle Animationseffekte, die auf die Form angewendet wurden.
IEffect[] shapeEffects = sequence.getEffectsByShape(shape);
if (shapeEffects.length > 0)
System.out.println("Die Form " + shape.getName() + " hat " + shapeEffects.length + " Animationseffekte.");
} finally {
if (pres != null) pres.dispose();
}
Ändern der Zeitproperties der Animationseffekte
Aspose.Slides für Android über Java ermöglicht es Ihnen, die Timing-Eigenschaften eines Animationseffekts zu ändern.
Dies ist das Animationszeitschema in Microsoft PowerPoint:
Dies sind die Entsprechungen zwischen PowerPoint Timing und Effect.Timing Eigenschaften:
- Die PowerPoint Timing Start Dropdown-Liste entspricht der Effect.Timing.TriggerType Eigenschaft.
- Die PowerPoint Timing Dauer entspricht der Effect.Timing.Duration Eigenschaft. Die Dauer einer Animation (in Sekunden) ist die gesamte Zeit, die die Animation benötigt, um einen Zyklus abzuschließen.
- Die PowerPoint Timing Verzögerung entspricht der Effect.Timing.TriggerDelayTime Eigenschaft.
So ändern Sie die Effect Timing Eigenschaften:
- Wenden Sie an oder holen Sie den Animationseffekt.
- Setzen Sie neue Werte für die Effect.Timing Eigenschaften, die Sie benötigen.
- Speichern Sie die modifizierte PPTX-Datei.
Dieser Java-Code demonstriert die Operation:
// Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
Presentation pres = new Presentation("AnimExample_out.pptx");
try {
// Holt die Hauptsequenz der Folie.
ISequence sequence = pres.getSlides().get_Item(0).getTimeline().getMainSequence();
// Holt den ersten Effekt der Hauptsequenz.
IEffect effect = sequence.get_Item(0);
// Ändert den TriggerType des Effekts, um beim Klicken zu starten
effect.getTiming().setTriggerType(EffectTriggerType.OnClick);
// Ändert die Dauer des Effekts
effect.getTiming().setDuration(3f);
// Ändert die TriggerDelayTime des Effekts
effect.getTiming().setTriggerDelayTime(0.5f);
// Speichert die PPTX-Datei auf der Festplatte
pres.save("AnimExample_changed.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Der Animationseffekt-Ton
Aspose.Slides bietet diese Eigenschaften, die es Ihnen ermöglichen, mit Tönen in Animationseffekten zu arbeiten:
Animationseffekt-Ton hinzufügen
Dieser Java-Code zeigt Ihnen, wie Sie einen Animationseffekt-Ton hinzufügen und ihn stoppen, wenn der nächste Effekt beginnt:
Presentation pres = new Presentation("AnimExample_out.pptx");
try {
// Fügt Audio zur Präsentations-Audio-Sammlung hinzu
IAudio effectSound = pres.getAudios().addAudio(Files.readAllBytes(Paths.get("sampleaudio.wav")));
ISlide firstSlide = pres.getSlides().get_Item(0);
// Holt die Hauptsequenz der Folie.
ISequence sequence = firstSlide.getTimeline().getMainSequence();
// Holt den ersten Effekt der Hauptsequenz
IEffect firstEffect = sequence.get_Item(0);
// Überprüft den Effekt auf "Kein Ton"
if (!firstEffect.getStopPreviousSound() && firstEffect.getSound() == null)
{
// Fügt den Ton für den ersten Effekt hinzu
firstEffect.setSound(effectSound);
}
// Holt die erste interaktive Sequenz der Folie.
ISequence interactiveSequence = firstSlide.getTimeline().getInteractiveSequences().get_Item(0);
// Setzt die "Stoppe vorherigen Ton" Flagge des Effekts
interactiveSequence.get_Item(0).setStopPreviousSound(true);
// Schreibt die PPTX-Datei auf die Festplatte
pres.save("AnimExample_Sound_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Animationseffekt-Ton extrahieren
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie eine Folienreferenz über ihren Index.
- Holen Sie die Hauptsequenz von Effekten.
- Extrahieren Sie den setSound(IAudio value) eingebetteten Ton in jedem Animationseffekt.
Dieser Java-Code zeigt Ihnen, wie Sie den in einem Animationseffekt eingebetteten Ton extrahieren:
// Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
Presentation presentation = new Presentation("EffectSound.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Holt die Hauptsequenz der Folie.
ISequence sequence = slide.getTimeline().getMainSequence();
for (IEffect effect : sequence)
{
if (effect.getSound() == null)
continue;
// Extrahiert den Effekt-Ton in ein Byte-Array
byte[] audio = effect.getSound().getBinaryData();
}
} finally {
if (presentation != null) presentation.dispose();
}
Nach Animation
Aspose.Slides für Android über Java ermöglicht es Ihnen, die Nach-Animationseigenschaft eines Animationseffekts zu ändern.
Dies ist das Animations-Effekt-Fenster und das erweiterte Menü in Microsoft PowerPoint:
Die PowerPoint Effekt Nach Animation Dropdown-Liste entspricht diesen Eigenschaften:
- setAfterAnimationType(int value) Eigenschaft, die den Nach-Animationstyp beschreibt:
- PowerPoint Weitere Farben entspricht dem AfterAnimationType.Color Typ;
- PowerPoint Nicht dimmen Listenpunkt entspricht dem AfterAnimationType.DoNotDim Typ (Standard Nachanimationstyp);
- PowerPoint Nach Animation ausblenden Listenpunkt entspricht dem AfterAnimationType.HideAfterAnimation Typ;
- PowerPoint Nach dem nächsten Mausklick ausblenden Listenpunkt entspricht dem AfterAnimationType.HideOnNextMouseClick Typ;
- setAfterAnimationColor(IColorFormat value) Eigenschaft, die ein Nachanimationsfarbformat definiert. Diese Eigenschaft funktioniert in Verbindung mit dem AfterAnimationType.Color Typ. Wenn Sie den Typ in einen anderen ändern, wird die Nachanimationsfarbe gelöscht.
Dieser Java-Code zeigt Ihnen, wie Sie einen Nachanimations-Effekt ändern:
// Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei darstellt
Presentation pres = new Presentation("AnimImage_out.pptx");
try {
ISlide firstSlide = pres.getSlides().get_Item(0);
// Holt den ersten Effekt der Hauptsequenz
IEffect firstEffect = firstSlide.getTimeline().getMainSequence().get_Item(0);
// Ändert den Nachanimations-Typ auf Farbe
firstEffect.setAfterAnimationType(AfterAnimationType.Color);
// Setzt die Nachanimations-Dimmfarbe
firstEffect.getAfterAnimationColor().setColor(Color.BLUE);
// Schreibt die PPTX-Datei auf die Festplatte
pres.save("AnimImage_AfterAnimation.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Text animieren
Aspose.Slides bietet diese Eigenschaften, die es Ihnen ermöglichen, mit dem Animationstext Block eines Animationseffekts zu arbeiten:
- setAnimateTextType(int value) beschreibt einen Animationstexttyp des Effekts. Der Formtext kann animiert werden:
- Alles auf einmal (AnimateTextType.AllAtOnce Typ)
- Nach Wort (AnimateTextType.ByWord Typ)
- Nach Buchstabe (AnimateTextType.ByLetter Typ)
- setDelayBetweenTextParts(float value) setzt eine Verzögerung zwischen den animierten Textteilen (Wörtern oder Buchstaben). Ein positiver Wert gibt den Prozentsatz der Effekt-Dauer an. Ein negativer Wert gibt die Verzögerung in Sekunden an.
So ändern Sie die Effect Animate Text Eigenschaften:
- Wenden Sie an oder holen Sie den Animationseffekt.
- Setzen Sie die setBuildType(int value) Eigenschaft auf BuildType.AsOneObject Wert, um den Nach Absätzen Animationsmodus auszuschalten.
- Setzen Sie neue Werte für die setAnimateTextType(int value) und setDelayBetweenTextParts(float value) Eigenschaften.
- Speichern Sie die modifizierte PPTX-Datei.
Dieser Java-Code demonstriert die Operation:
// Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
Presentation pres = new Presentation("AnimTextBox_out.pptx");
try {
ISlide firstSlide = pres.getSlides().get_Item(0);
// Holt den ersten Effekt der Hauptsequenz
IEffect firstEffect = firstSlide.getTimeline().getMainSequence().get_Item(0);
// Ändert den Effekt Animationstexttyp auf "Als ein Objekt"
firstEffect.getTextAnimation().setBuildType(BuildType.AsOneObject);
// Ändert den Effekt Animationstexttyp auf "Nach Wort"
firstEffect.setAnimateTextType(AnimateTextType.ByWord);
// Setzt die Verzögerung zwischen Wörtern auf 20% der Effekt-Dauer
firstEffect.setDelayBetweenTextParts(20f);
// Schreibt die PPTX-Datei auf die Festplatte
pres.save("AnimTextBox_AnimateText.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}