Formanimation
Animationen sind visuelle Effekte, die auf Texte, Bilder, Formen oder Diagramme angewendet werden können. Sie verleihen Präsentationen oder deren Bestandteilen Leben.
Warum Animationen in Präsentationen verwenden?
Mit Animationen können Sie
- den Fluss von Informationen steuern
- wichtige Punkte betonen
- das Interesse oder die Teilnahme Ihres Publikums erhöhen
- Inhalte leichter lesbar oder verdaubar 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, Ausgang, Betonung und Bewegungsbahnen.
Animationen in Aspose.Slides
- Aspose.Slides stellt die Klassen und Typen bereit, die Sie zur Arbeit mit Animationen im Aspose.Slides.Animation Namespace benötigen,
- Aspose.Slides bietet über 150 Animationseffekte unter der EffectType Enumeration. Diese Effekte sind im Wesentlichen die gleichen (oder äquivalenten) Effekte, die in PowerPoint verwendet werden.
Animation auf Textfeld anwenden
Aspose.Slides für .NET ermöglicht es Ihnen, Animation auf den Text in einer Form anzuwenden.
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich eine Referenz auf eine Folie über ihren Index.
- Fügen Sie eine
rectangle
IAutoShape hinzu. - Fügen Sie Text zu IAutoShape.TextFrame hinzu.
- Holen Sie sich eine Hauptsequenz von Effekten.
- Fügen Sie einen Animationseffekt zu IAutoShape hinzu.
- Setzen Sie die TextAnimation.BuildType Eigenschaft auf den Wert aus der BuildType Enumeration.
- Schreiben Sie die Präsentation auf die Festplatte als PPTX-Datei.
Dieser C#-Code zeigt, wie Sie den Fade
-Effekt auf AutoShape anwenden und die Textanimation auf den Wert Nach 1. Ebene Absätzen setzen:
// Erstellt eine Instanz einer Präsentationsklasse, die eine Präsentationsdatei darstellt.
using (Presentation pres = new Presentation())
{
ISlide sld = pres.Slides[0];
// Fügt eine neue AutoShape mit Text hinzu
IAutoShape autoShape = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 150, 100);
ITextFrame textFrame = autoShape.TextFrame;
textFrame.Text = "Erster Absatz \nZweiter Absatz \n Dritter Absatz";
// Holt die Hauptsequenz der Folie.
ISequence sequence = sld.Timeline.MainSequence;
// Fügt den Fade-Animationseffekt zur Form hinzu
IEffect effect = sequence.AddEffect(autoShape, EffectType.Fade, EffectSubtype.None, EffectTriggerType.OnClick);
// Animiert das Formtext nach 1. Ebene Absätzen
effect.TextAnimation.BuildType = BuildType.ByLevelParagraphs1;
// Speichert die PPTX-Datei auf der Festplatte
pres.Save(path + "AnimTextBox_out.pptx", SaveFormat.Pptx);
}
Animation auf PictureFrame anwenden
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich eine Referenz auf eine Folie über ihren Index.
- Fügen Sie PictureFrame auf der Folie hinzu oder rufen Sie sie ab.
- Holen Sie sich die Hauptsequenz von Effekten.
- Fügen Sie einen Animationseffekt zu PictureFrame hinzu.
- Schreiben Sie die Präsentation auf die Festplatte als PPTX-Datei.
Dieser C#-Code zeigt, wie Sie den Fly
-Effekt auf ein Bildrahmen anwenden:
// Erstellt eine Instanz einer Präsentationsklasse, die eine Präsentationsdatei darstellt.
using (Presentation pres = new Presentation())
{
// Bild laden, das in die Präsentationsbildsammlung hinzugefügt werden soll
IImage image = Images.FromFile("aspose-logo.jpg");
IPPImage ppImage = pres.Images.AddImage(image);
image.Dispose();
// Bildrahmen zur Folie hinzufügen
IPictureFrame picFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, ppImage);
// Holt die Hauptsequenz der Folie.
ISequence sequence = pres.Slides[0].Timeline.MainSequence;
// Fügt den Fly-from-Left-Animationseffekt zum Bildrahmen hinzu
IEffect effect = sequence.AddEffect(picFrame, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick);
// Speichert die PPTX-Datei auf der Festplatte
pres.Save("AnimImage_out.pptx", SaveFormat.Pptx);
}
Animation auf Form anwenden
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich eine Referenz auf eine Folie ü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 an 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 C#-Code zeigt, wie Sie den PathFootball
(Pfad Fußball) Effekt auf eine Form anwenden:
// Erstellt eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
using (Presentation pres = new Presentation())
{
ISlide sld = pres.Slides[0];
// Erstellt den PathFootball-Effekt für die vorhandene Form von Grund auf neu.
IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 150, 250, 25);
ashp.AddTextFrame("Animierter Textfeld");
// Fügt den PathFootBall-Animationseffekt hinzu.
pres.Slides[0].Timeline.MainSequence.AddEffect(ashp, EffectType.PathFootball,
EffectSubtype.None, EffectTriggerType.AfterPrevious);
// Erstellt eine Art "Schaltfläche".
IShape shapeTrigger = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Bevel, 10, 10, 20, 20);
// Erstellt eine Sequenz von Effekten für die Schaltfläche.
ISequence seqInter = pres.Slides[0].Timeline.InteractiveSequences.Add(shapeTrigger);
// Erstellt einen benutzerdefinierten Benutzerpfad. Unser Objekt wird nur bewegt, nachdem die Schaltfläche angeklickt wurde.
IEffect fxUserPath = seqInter.AddEffect(ashp, EffectType.PathUser, EffectSubtype.None, EffectTriggerType.OnClick);
// Fügt Befehle zum Bewegen hinzu, da der erstellte Pfad leer ist.
IMotionEffect motionBhv = ((IMotionEffect)fxUserPath.Behaviors[0]);
PointF[] pts = new PointF[1];
pts[0] = new PointF(0.076f, 0.59f);
motionBhv.Path.Add(MotionCommandPathType.LineTo, pts, MotionPathPointsType.Auto, true);
pts[0] = new PointF(-0.076f, -0.59f);
motionBhv.Path.Add(MotionCommandPathType.LineTo, pts, MotionPathPointsType.Auto, false);
motionBhv.Path.Add(MotionCommandPathType.End, null, MotionPathPointsType.Auto, false);
// Schreibt die PPTX-Datei auf die Festplatte
pres.Save("AnimExample_out.pptx", SaveFormat.Pptx);
}
Animationseffekte auf eine Form anwenden
Sie können entscheiden, alle Animationseffekte zu ermitteln, die auf eine einzelne Form angewendet wurden.
Dieser C#-Code zeigt Ihnen, wie Sie alle auf eine bestimmte Form angewendeten Effekte abrufen:
// Erstellt eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
using (Presentation pres = new Presentation("AnimExample_out.pptx"))
{
ISlide firstSlide = pres.Slides[0];
// Holt die Hauptsequenz der Folie.
ISequence sequence = firstSlide.Timeline.MainSequence;
// Holt die erste Form auf der Folie.
IShape shape = firstSlide.Shapes[0];
// Holt alle Animationseffekte, die auf die Form angewendet wurden.
IEffect[] shapeEffects = sequence.GetEffectsByShape(shape);
if (shapeEffects.Length > 0)
Console.WriteLine("Die Form " + shape.Name + " hat " + shapeEffects.Length + " Animationseffekte.");
}
Timing-Eigenschaften des Animationseffekts ändern
Aspose.Slides für .NET ermöglicht es Ihnen, die Timing-Eigenschaften eines Animationseffekts zu ändern.
Dies ist das Animation Timing-Fenster und das erweiterte Menü in Microsoft PowerPoint:
Dies sind die Entsprechungen zwischen PowerPoint-Timing und Effect.Timing Eigenschaften:
- PowerPoint Timing Start Dropdown-Liste entspricht der Effect.Timing.TriggerType Eigenschaft.
- PowerPoint Timing Dauer entspricht der Effect.Timing.Duration Eigenschaft. Die Dauer einer Animation (in Sekunden) ist die Gesamtzeit, die die Animation benötigt, um einen Zyklus abzuschließen.
- PowerPoint Timing Verzögerung entspricht der Effect.Timing.TriggerDelayTime Eigenschaft.
- PowerPoint Timing Wiederholen Dropdown-Liste entspricht diesen Eigenschaften:
- Effect.Timing.RepeatCount Eigenschaft, die die Anzahl der Wiederholungen des Effekts beschreibt;
- Effect.Timing.RepeatUntilEndSlide Flag, das angibt, ob der Effekt bis zum Ende der Folie wiederholt wird;
- Effect.Timing.RepeatUntilNextClick Flag, das angibt, ob der Effekt bis zum nächsten Klick wiederholt wird.
- PowerPoint Timing Zurückspulen, wenn die Wiedergabe abgeschlossen ist Checkbox entspricht der Effect.Timing.Rewind Eigenschaft.
So ändern Sie die Effekt-Timing-Eigenschaften:
- Wenden Sie an oder rufen Sie den Animationseffekt ab.
- Setzen Sie neue Werte für die Effect.Timing Eigenschaften, die Sie benötigen.
- Speichern Sie die modifizierte PPTX-Datei.
Dieser C#-Code demonstriert den Vorgang:
// Erstellt eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
using (Presentation pres = new Presentation("AnimExample_out.pptx"))
{
// Holt die Hauptsequenz der Folie.
ISequence sequence = pres.Slides[0].Timeline.MainSequence;
// Holt den ersten Effekt der Hauptsequenz.
IEffect effect = sequence[0];
// Ändert den TriggerType des Effekts, um beim Klicken zu starten
effect.Timing.TriggerType = EffectTriggerType.OnClick;
// Ändert die Dauer des Effekts
effect.Timing.Duration = 3f;
// Ändert die TriggerDelayTime des Effekts
effect.Timing.TriggerDelayTime = 0.5f;
// Wenn der Wert für die Wiederholung des Effekts "Keine" ist
if (effect.Timing.RepeatCount == 1f)
{
// Ändert die Wiederholung des Effekts auf "Bis zum nächsten Klick"
effect.Timing.RepeatUntilNextClick = true;
}
else
{
// Ändert die Wiederholung des Effekts auf "Bis zum Ende der Folie"
effect.Timing.RepeatUntilEndSlide = true;
}
// Schaltet das Zurückspulen des Effekts ein
effect.Timing.Rewind = true;
// Speichert die PPTX-Datei auf der Festplatte
pres.Save("AnimExample_changed.pptx", SaveFormat.Pptx);
}
Animations-Effekt-Sound
Aspose.Slides bietet diese Eigenschaften, um mit Geräuschen in Animationseffekten zu arbeiten:
Animationseffekt-Sound hinzufügen
Dieser C#-Code zeigt, wie Sie einen Animations-Effekt-Sound hinzufügen und ihn stoppen, wenn der nächste Effekt beginnt:
using (Presentation pres = new Presentation("AnimExample_out.pptx"))
{
// Fügt Audio zur Präsentationsaudio-Sammlung hinzu
IAudio effectSound = pres.Audios.AddAudio(File.ReadAllBytes("sampleaudio.wav"));
ISlide firstSlide = pres.Slides[0];
// Holt die Hauptsequenz der Folie.
ISequence sequence = firstSlide.Timeline.MainSequence;
// Holt den ersten Effekt der Hauptsequenz
IEffect firstEffect = sequence[0];
// Überprüft den Effekt auf "Kein Ton"
if (!firstEffect.StopPreviousSound && firstEffect.Sound == null)
{
// Fügt den Sound für den ersten Effekt hinzu
firstEffect.Sound = effectSound;
}
// Holt die erste interaktive Sequenz der Folie.
ISequence interactiveSequence = firstSlide.Timeline.InteractiveSequences[0];
// Setzt das Flag "Vorherigen Sound stoppen" des Effekts
interactiveSequence[0].StopPreviousSound = true;
// Schreibt die PPTX-Datei auf die Festplatte
pres.Save("AnimExample_Sound_out.pptx", SaveFormat.Pptx);
}
Animationseffekt-Sound extrahieren
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich eine Referenz auf eine Folie über ihren Index.
- Holen Sie sich die Hauptsequenz von Effekten.
- Extrahieren Sie den Sound embedded in jedem Animationseffekt.
Dieser C#-Code zeigt, wie Sie den Sound extrahieren, der in einem Animationseffekt eingebettet ist:
// Erstellt eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
using (Presentation presentation = new Presentation("EffectSound.pptx"))
{
ISlide slide = presentation.Slides[0];
// Holt die Hauptsequenz der Folie.
ISequence sequence = slide.Timeline.MainSequence;
foreach (IEffect effect in sequence)
{
if (effect.Sound == null)
continue;
// Extrahiert den Effekt-Sound in ein Byte-Array
byte[] audio = effect.Sound.BinaryData;
}
}
Nach Animation
Aspose.Slides für .NET ermöglicht es Ihnen, die Nach-Animation-Eigenschaft eines Animationseffekts zu ändern.
Dies ist das Animationseffekt-Fenster und das erweiterte Menü in Microsoft PowerPoint:
PowerPoint-Effekt Nach Animation Dropdown-Liste entspricht diesen Eigenschaften:
- IEffect.AfterAnimationType Eigenschaft, die den Nach-Animations-Typ beschreibt:
- PowerPoint Weitere Farben entspricht dem AfterAnimationType.Color Typ;
- PowerPoint Nicht dimmen Listenelement entspricht dem AfterAnimationType.DoNotDim Typ (Standard-Nachanimations-Typ);
- PowerPoint Nach Animation ausblenden Element entspricht dem AfterAnimationType.HideAfterAnimation Typ;
- PowerPoint Bei nächstem Mausklick ausblenden Element entspricht dem AfterAnimationType.HideOnNextMouseClick Typ;
- IEffect.AfterAnimationColor Eigenschaft, die ein Nach-Animations-Farbformat definiert. Diese Eigenschaft funktioniert in Kombination mit dem AfterAnimationType.Color Typ. Wenn Sie den Typ in einen anderen ändern, wird die NachAnimationsfarbe gelöscht.
Dieser C#-Code zeigt, wie Sie einen Nach-Animations-Effekt ändern:
// Erstellt eine Präsentationsklasse, die eine Präsentationsdatei darstellt
using (Presentation pres = new Presentation("AnimImage_out.pptx"))
{
ISlide firstSlide = pres.Slides[0];
// Holt den ersten Effekt der Hauptsequenz
IEffect firstEffect = firstSlide.Timeline.MainSequence[0];
// Ändert den Nachanimations-Typ auf Farbe
firstEffect.AfterAnimationType = AfterAnimationType.Color;
// Setzt die Nachanimations-Dim-Farbe
firstEffect.AfterAnimationColor.Color = Color.AliceBlue;
// Schreibt die PPTX-Datei auf die Festplatte
pres.Save("AnimImage_AfterAnimation.pptx", SaveFormat.Pptx);
}
Text animieren
Aspose.Slides bietet diese Eigenschaften, um mit dem Text animieren-Block eines Animationseffekts zu arbeiten:
- IEffect.AnimateTextType beschreibt einen Animate-Themen-Typ des Effekts. Der Text der Form kann animiert werden:
- Alle auf einmal (AnimateTextType.AllAtOnce Typ)
- Nach Wort (AnimateTextType.ByWord Typ)
- Nach Buchstabe (AnimateTextType.ByLetter Typ)
- IEffect.DelayBetweenTextParts 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 können Sie die Effekt-Textanimationseigenschaften ändern:
- Wenden Sie an oder rufen Sie den Animationseffekt ab.
- Setzen Sie die IEffect.TextAnimation.BuildType Eigenschaft auf den Wert BuildType.AsOneObject, um den Nach Absätzen Animationsmodus auszuschalten.
- Setzen Sie neue Werte für die IEffect.AnimateTextType und IEffect.DelayBetweenTextParts Eigenschaften.
- Speichern Sie die modifizierte PPTX-Datei.
Dieser C#-Code demonstriert den Vorgang:
// Erstellt eine Präsentationsklasse, die eine Präsentationsdatei darstellt.
using (Presentation pres = new Presentation("AnimTextBox_out.pptx"))
{
ISlide firstSlide = pres.Slides[0];
// Holt den ersten Effekt der Hauptsequenz
IEffect firstEffect = firstSlide.Timeline.MainSequence[0];
// Ändert den Effekt-Textanimationstyp auf "Als ein Objekt"
firstEffect.TextAnimation.BuildType = BuildType.AsOneObject;
// Ändert den Effekt-Textanimierungstyp auf "Nach Wort"
firstEffect.AnimateTextType = AnimateTextType.ByWord;
// Setzt die Verzögerung zwischen Wörtern auf 20% der Effekt-Dauer
firstEffect.DelayBetweenTextParts = 20f;
// Schreibt die PPTX-Datei auf die Festplatte
pres.Save("AnimTextBox_AnimateText.pptx", SaveFormat.Pptx);
}