Folienübergang
Folienübergang hinzufügen
Um es einfacher zu verstehen, haben wir die Verwendung von Aspose.Slides für C++ zur Verwaltung einfacher Folienübergänge demonstriert. Entwickler können nicht nur verschiedene Folienübergangseffekte auf die Folien anwenden, sondern auch das Verhalten dieser Übergangseffekte anpassen. Um einen einfachen Folienübergangseffekt zu erstellen, folgen Sie bitte den folgenden Schritten:
- Erstellen Sie eine Instanz der Presentation Klasse.
- Wenden Sie einen Folienübergangstyp auf die Folie aus einem der von Aspose.Slides für C++ angebotenen Übergangseffekte über das TransitionType-Enum an.
- Schreiben Sie die modifizierte Präsentationsdatei.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C | |
// The path to the documents directory. | |
const String templatePath = u"../templates/SimpleSlideTransitions.pptx"; | |
const String outPath = u"../out/SimpleSlideTransitions.pptx"; | |
// Instantiate Presentation class | |
SharedPtr<Presentation>pres = MakeObject<Presentation>(templatePath); | |
// Apply circle type transition on slide 1 | |
pres->get_Slides()->idx_get(0)->get_SlideShowTransition()->set_Type(Aspose::Slides::SlideShow::TransitionType::Circle); | |
// Apply comb type transition on slide 2 | |
pres->get_Slides()->idx_get(1)->get_SlideShowTransition()->set_Type(Aspose::Slides::SlideShow::TransitionType::Comb); | |
// Write the presentation to disk | |
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |
Erweiterten Folienübergang hinzufügen
Im obigen Abschnitt haben wir nur einen einfachen Übergangseffekt auf die Folie angewendet. Um diesen einfachen Übergangseffekt noch besser und kontrollierter zu gestalten, folgen Sie bitte den folgenden Schritten:
- Erstellen Sie eine Instanz der Presentation Klasse.
- Wenden Sie einen Folienübergangstyp auf die Folie aus einem der von Aspose.Slides für C++ angebotenen Übergangseffekte an.
- Sie können den Übergang auch so einstellen, dass er bei einem Klick, nach einem bestimmten Zeitraum oder beidem erfolgt.
- Wenn der Folienübergang aktiviert ist, um bei einem Klick voranzugehen, wird der Übergang nur voranschreiten, wenn jemand mit der Maus klickt. Zudem wird, wenn die Eigenschaft Advance After Time gesetzt ist, der Übergang automatisch voranschreiten, nachdem die festgelegte Advance-Zeit vergangen ist.
- Schreiben Sie die modifizierte Präsentation als Präsentationsdatei.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C | |
// The path to the documents directory. | |
const String templatePath = u"../templates/SimpleSlideTransitions.pptx"; | |
const String outPath = u"../out/BetterSlideTransitions.pptx"; | |
// Instantiate Presentation class | |
SharedPtr<Presentation>pres = MakeObject<Presentation>(templatePath); | |
// Apply circle type transition on slide 1 | |
pres->get_Slides()->idx_get(0)->get_SlideShowTransition()->set_Type(Aspose::Slides::SlideShow::TransitionType::Circle); | |
// Set the transition time of 3 seconds | |
pres->get_Slides()->idx_get(0)->get_SlideShowTransition()->set_AdvanceOnClick(true); | |
pres->get_Slides()->idx_get(0)->get_SlideShowTransition()->set_AdvanceAfterTime(3000); | |
// Apply comb type transition on slide 2 | |
pres->get_Slides()->idx_get(1)->get_SlideShowTransition()->set_Type(Aspose::Slides::SlideShow::TransitionType::Comb); | |
// Set the transition time of 5 seconds | |
pres->get_Slides()->idx_get(1)->get_SlideShowTransition()->set_AdvanceOnClick(true); | |
pres->get_Slides()->idx_get(1)->get_SlideShowTransition()->set_AdvanceAfterTime(5000); | |
// Write the presentation to disk | |
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |
Morphübergang
Aspose.Slides für C++ unterstützt jetzt den Morphübergang. Dieser stellt einen neuen Morphübergang dar, der in PowerPoint 2019 eingeführt wurde. Der Morphübergang ermöglicht es Ihnen, eine sanfte Bewegung von einer Folie zur nächsten zu animieren. Dieser Artikel beschreibt das Konzept und wie man den Morphübergang verwendet. Um den Morphübergang effektiv zu nutzen, benötigen Sie zwei Folien mit mindestens einem gemeinsamen Objekt. Der einfachste Weg ist, die Folie zu duplizieren und dann das Objekt auf der zweiten Folie an einen anderen Ort zu verschieben.
Der folgende Codeausschnitt zeigt Ihnen, wie Sie einen Klon der Folie mit etwas Text zur Präsentation hinzufügen und einen Übergang vom Typ Morph auf die zweite Folie anwenden.
const String outPath = u"../out/presentation-out.pptx"; | |
auto presentation = System::MakeObject<Presentation>(); | |
auto autoshape = System::DynamicCast<Aspose::Slides::AutoShape>(presentation->get_Slides()->idx_get(0)->get_Shapes()->AddAutoShape(Aspose::Slides::ShapeType::Rectangle, 100, 100, 400, 100)); | |
autoshape->get_TextFrame()->set_Text(u"Test text"); | |
presentation->get_Slides()->AddClone(presentation->get_Slides()->idx_get(0)); | |
auto x = presentation->get_Slides()->idx_get(1)->get_Shapes()->idx_get(0)->get_X(); | |
auto y = presentation->get_Slides()->idx_get(1)->get_Shapes()->idx_get(0)->get_Y(); | |
auto width = presentation->get_Slides()->idx_get(1)->get_Shapes()->idx_get(0)->get_Width(); | |
auto height = presentation->get_Slides()->idx_get(1)->get_Shapes()->idx_get(0)->get_Height(); | |
presentation->get_Slides()->idx_get(1)->get_Shapes()->idx_get(0)->set_X(x + 100); | |
presentation->get_Slides()->idx_get(1)->get_Shapes()->idx_get(0)->set_Y(y + 50); | |
presentation->get_Slides()->idx_get(1)->get_Shapes()->idx_get(0)->set_Width(width + 200); | |
presentation->get_Slides()->idx_get(1)->get_Shapes()->idx_get(0)->set_Height(height + 10); | |
presentation->get_Slides()->idx_get(1)->get_SlideShowTransition()->set_Type(Aspose::Slides::SlideShow::TransitionType::Morph); | |
presentation->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |
Morphübergangstyp
Das neue Aspose.Slides.SlideShow.TransitionMorphType-Enum wurde hinzugefügt. Es stellt verschiedene Typen von Morph-Folienübergängen dar.
Das TransitionMorphType-Enum hat drei Mitglieder:
- ByObject: Der Morphübergang wird unter Berücksichtigung von Formen als unteilbare Objekte durchgeführt.
- ByWord: Der Morphübergang wird durchgeführt, wobei Text, wo möglich, wortweise übertragen wird.
- ByChar: Der Morphübergang wird durchgeführt, wobei Text, wo möglich, zeichenweise übertragen wird.
Der folgende Codeausschnitt zeigt Ihnen, wie Sie einen Morphübergang auf die Folie anwenden und den Morphtyp ändern:
const String inputPath = u"../templates/presentation.pptx"; | |
const String outPath = u"../out/presentation-out.pptx"; | |
auto presentation = System::MakeObject<Presentation>(u"presentation.pptx"); | |
presentation->get_Slides()->idx_get(0)->get_SlideShowTransition()->set_Type(Aspose::Slides::SlideShow::TransitionType::Morph); | |
auto morphTransition = System::DynamicCast<Aspose::Slides::SlideShow::IMorphTransition>(presentation->get_Slides()->idx_get(0)->get_SlideShowTransition()->get_Value()); | |
morphTransition->set_MorphType(Aspose::Slides::SlideShow::TransitionMorphType::ByWord); | |
presentation->Save(u"presentation-out.pptx", Aspose::Slides::Export::SaveFormat::Pptx); | |
Übergangseffekte festlegen
Aspose.Slides für C++ unterstützt das Festlegen von Übergangseffekten wie z. B. von schwarz, von links, von rechts usw. Um den Übetragseffekt festzulegen, folgen Sie bitte den folgenden Schritten:
- Erstellen Sie eine Instanz der Presentation-Klasse.
- Holen Sie sich das Referenz der Folie.
- Stellen Sie den Übergangseffekt ein.
- Schreiben Sie die Präsentation als PPTX-Datei.
Im folgenden Beispiel haben wir die Übergangseffekte festgelegt.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C | |
// The path to the documents directory. | |
const String templatePath = u"../templates/SimpleSlideTransitions.pptx"; | |
const String outPath = u"../out/TransitionEffects.pptx"; | |
// Instantiate Presentation class | |
SharedPtr<Presentation>pres = MakeObject<Presentation>(templatePath); | |
// Apply circle type transition on slide 1 | |
pres->get_Slides()->idx_get(0)->get_SlideShowTransition()->set_Type(Aspose::Slides::SlideShow::TransitionType::Cut); | |
auto transition = DynamicCast<Aspose::Slides::SlideShow::OptionalBlackTransition>(pres->get_Slides()->idx_get(0)->get_SlideShowTransition()->get_Value()); | |
transition->set_FromBlack(true); | |
// Write the presentation to disk | |
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |