Správa přechodů snímků v prezentacích pomocí PHP
Přehled
Tento článek vysvětluje, jak spravovat přechody snímků v prezentacích pomocí Aspose.Slides. Ukazuje, jak použít typy přechodů na snímky, nakonfigurovat chování přechodu, například přechod na kliknutí nebo po uplynutí určené doby, zkontrolovat a zakázat automatické přecházení, použít přechod Morph a jeho typy a nastavit možnosti efektu přechodu. Příklady ukazují, jak načíst nebo vytvořit prezentaci, upravit nastavení přechodu pro vybrané snímky a uložit výsledek jako soubor PPTX. Článek také odpovídá na časté otázky o rychlosti přechodu, zvucích přechodu, aplikaci stejného přechodu na více snímků a kontrole přechodu aktuálně nastaveného na snímku.
Přidání přechodu snímku
Pro vytvoření jednoduchého efektu přechodu snímku postupujte podle následujících kroků:
- Vytvořte instanci třídy Presentation.
- Aplikujte typ přechodu snímku na snímek z jedné z nabízených přechodových efektů pomocí výčtu TransitionType.
- Zapište upravený soubor prezentace.
# Vytvořte instanci třídy Presentation pro načtení zdrojového souboru prezentace
$presentation = new Presentation("AccessSlides.pptx");
try {
# Použijte přechod typu circle na snímku 1
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Circle);
# Použijte přechod typu comb na snímku 2
$presentation->getSlides()->get_Item(1)->getSlideShowTransition()->setType(TransitionType::Comb);
# Uložte prezentaci na disk
$presentation->save("SampleTransition_out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Přidání pokročilého přechodu snímku
V předchozí sekci jsme použili jednoduchý efekt přechodu na snímek. Nyní, pro vylepšení a lepší kontrolu tohoto efektu, postupujte podle níže uvedených kroků:
- Vytvořte instanci třídy Presentation.
- Aplikujte typ přechodu snímku na snímek z jedné z nabízených přechodových efektů.
- Můžete také nastavit přechod na „Advance On Click“, po určité době nebo obojí.
- Pokud je přechod snímku povolen na „Advance On Click“, přechod proběhne pouze po kliknutí myší. Pokud je nastavená vlastnost „Advance After Time“, přechod proběhne automaticky po uplynutí zadané doby.
- Zapište upravenou prezentaci jako soubor prezentace.
# Vytvořte instanci třídy Presentation, která představuje soubor prezentace
$pres = new Presentation("BetterSlideTransitions.pptx");
try {
# Použijte přechod typu circle na snímku 1
$pres->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Circle);
# Nastavte čas přechodu na 3 sekundy
$pres->getSlides()->get_Item(0)->getSlideShowTransition()->setAdvanceOnClick(true);
$pres->getSlides()->get_Item(0)->getSlideShowTransition()->setAdvanceAfterTime(3000);
# Použijte přechod typu comb na snímku 2
$pres->getSlides()->get_Item(1)->getSlideShowTransition()->setType(TransitionType::Comb);
# Nastavte čas přechodu na 5 sekund
$pres->getSlides()->get_Item(1)->getSlideShowTransition()->setAdvanceOnClick(true);
$pres->getSlides()->get_Item(1)->getSlideShowTransition()->setAdvanceAfterTime(5000);
# Použijte přechod typu zoom na snímku 3
$pres->getSlides()->get_Item(2)->getSlideShowTransition()->setType(TransitionType::Zoom);
# Nastavte čas přechodu na 7 sekund
$pres->getSlides()->get_Item(2)->getSlideShowTransition()->setAdvanceOnClick(true);
$pres->getSlides()->get_Item(2)->getSlideShowTransition()->setAdvanceAfterTime(7000);
# Uložte prezentaci na disk
$pres->save("SampleTransition_out.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
Morph přechod
Morph přechod vám umožňuje animovat plynulý pohyb z jednoho snímku na další. Tento článek popisuje koncept a způsob použití Morph přechodu. Pro efektivní použití Morph přechodu budete potřebovat dva snímky se společným alespoň jedním objektem. Nejjednodušší je duplikovat snímek a poté přesunout objekt na druhém snímku na jiné místo.
Následující úryvek kódu ukazuje, jak přidat klon snímku s textem do prezentace a nastavit přechod morph type na druhý snímek.
$presentation = new Presentation();
try {
$autoshape = $presentation->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 100, 400, 100);
$autoshape->getTextFrame()->setText("Morph Transition in PowerPoint Presentations");
$presentation->getSlides()->addClone($presentation->getSlides()->get_Item(0));
$shape = $presentation->getSlides()->get_Item(1)->getShapes()->get_Item(0);
$shape->setX($shape->getX() + 100);
$shape->setY($shape->getY() + 50);
$shape->setWidth($shape->getWidth() - 200);
$shape->setHeight($shape->getHeight() - 10);
$presentation->getSlides()->get_Item(1)->getSlideShowTransition()->setType(TransitionType::Morph);
$presentation->save("presentation-out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Typy Morph přechodu
Byl přidán nový výčtový typ TransitionMorphType. Reprezentuje různé typy Morph přechodu snímku.
Výčet TransitionMorphType má tři členy:
- ByObject: Morph přechod bude proveden s ohledem na tvary jako nedělitelné objekty.
- ByWord: Morph přechod bude proveden převodem textu po slovech, kde je to možné.
- ByChar: Morph přechod bude proveden převodem textu po znacích, kde je to možné.
Následující úryvek kódu ukazuje, jak nastavit morph přechod na snímek a změnit typ morphu:
$presentation = new Presentation("presentation.pptx");
try {
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Morph);
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->getValue()->setMorphType(TransitionMorphType::ByWord);
$presentation->save("presentation-out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Nastavení efektů přechodu
Aspose.Slides for PHP via Java podporuje nastavení efektů přechodu, jako např. z černé, zleva, zprava atd. Pro nastavení efektu přechodu postupujte podle následujících kroků:
- Vytvořte instanci třídy Presentation.
- Získejte referenci na snímek.
- Nastavte efekt přechodu.
- Zapište prezentaci jako soubor PPTX.
V níže uvedeném příkladu jsme nastavili efekty přechodu.
# Vytvořte instanci třídy Presentation
$presentation = new Presentation("AccessSlides.pptx");
try {
# Nastavte efekt
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->setType(TransitionType::Cut);
$presentation->getSlides()->get_Item(0)->getSlideShowTransition()->getValue()->setFromBlack(true);
# Uložte prezentaci na disk
$presentation->save("SetTransitionEffects_out.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Časté dotazy
Mohu ovládat rychlost přehrávání přechodu snímku?
Ano. Nastavte speed přechodu pomocí nastavení TransitionSpeed (např. slow/medium/fast).
Mohu k přechodu připojit zvuk a nechat jej opakovat?
Ano. Můžete vložit zvuk pro přechod a řídit chování pomocí nastavení jako režim zvuku a smyčka (např. setSound, setSoundMode, setSoundLoop, plus metadata jako setSoundIsBuiltIn a setSoundName).
Jak nejrychleji použít stejný přechod na všechny snímky?
Nakonfigurujte požadovaný typ přechodu v nastavení přechodu každého snímku; přechody jsou uloženy per snímek, takže aplikace stejného typu na všechny snímky poskytne jednotný výsledek.
Jak zjistit, který přechod je aktuálně nastaven na snímku?
Prohlédněte si nastavení přechodu snímku a přečtěte jeho transition type; tato hodnota vám přesně řekne, který efekt je aplikován.