PowerPoint alakzatok formázása PHP-ben
Bevezetés
A PowerPointban alakzatokat adhat hozzá a diákhoz. Mivel az alakzatok vonalakból állnak, formázhatja őket a körvonalak módosításával vagy hatások alkalmazásával. Ezen felül beállítások megadásával szabályozhatja, hogyan töltik ki a belsejüket.

Az Aspose.Slides for PHP via Java osztályokat és metódusokat biztosít, amelyekkel a PowerPointban elérhető ugyanazokkal a lehetőségekkel formázhatja az alakzatokat.
Vonalak formázása
Az Aspose.Slides segítségével egy alakzat egyéni vonalstílusát adhatja meg. Az alábbi lépések ismertetik az eljárást:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen referenciát egy diára a sorszám alapján.
- Adjon egy AutoShape elemet a diához.
- Állítsa be az alakzat line style attribútumát.
- Állítsa be a vonal vastagságát.
- Állítsa be a vonal dash style attribútumát.
- Állítsa be az alakzat vonalszínét.
- Mentse a módosított prezentációt PPTX fájlként.
Az alábbi PHP kód bemutatja, hogyan formázhat egy téglalap AutoShape-t:
// Példányosítja a Presentation osztályt, amely egy prezentáció fájlt képvisel.
$presentation = new Presentation();
try {
// Lekéri az első diát.
$slide = $presentation->getSlides()->get_Item(0);
// Hozzáad egy Rectangle típusú automatikus alakzatot.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 150, 75);
// Beállítja a téglalap alakzat kitöltő színét.
$shape->getFillFormat()->setFillType(FillType::NoFill);
// Formázza a téglalap vonalait.
$shape->getLineFormat()->setStyle(LineStyle::ThickThin);
$shape->getLineFormat()->setWidth(7);
$shape->getLineFormat()->setDashStyle(LineDashStyle::Dash);
// Beállítja a téglalap vonalának színét.
$shape->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
// Mentse a PPTX fájlt lemezre.
$presentation->save("formatted_lines.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Az eredmény:

Vázlat hatások alkalmazása az alakzat vonalakra
A vázlat hatás azt a benyomást kelti, mintha kézzel rajzolt vonal lenne. Használja a Shape.getLineFormat metódust a vonal beállításainak eléréséhez, a LineFormat.getSketchFormat metódust a vázlat beállításainak eléréséhez, és a SketchFormat.setSketchType metódust a LineSketchType enumerációból való érték kiválasztásához.
Az alábbi PHP kód megmutatja, hogyan alkalmazzon egy LineSketchType.Curved hatást, hogyan olvassa ki a kifejezetten beállított értéket, és hogyan távolítsa el a hatást a LineSketchType.None használatával:
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 100);
// Hozzáfér az alakzat vonalformátumához és annak vázlatformátumához.
$sketchFormat = $shape->getLineFormat()->getSketchFormat();
// Alkalmaz egy vázlat hatást.
$sketchFormat->setSketchType(LineSketchType::Curved);
// Kiolvassa a alakzatra közvetlenül hozzárendelt vázlat hatást.
$explicitSketchType = $sketchFormat->getSketchType();
echo "Explicit sketch type: " . $explicitSketchType . PHP_EOL;
// Eltávolítja a vázlat hatást.
$sketchFormat->setSketchType(LineSketchType::None);
} finally {
$presentation->dispose();
}
A SketchFormat.getSketchType által visszaadott érték az alakzatra közvetlenül hozzárendelt beállítást képviseli. Ha a vonal formázása egy témából, mester- vagy elrendezési diából örökölt, használja a LineFormat.getEffective metódust, hívja meg a kapott objektum getSketchFormat metódusát, és olvassa ki annak getSketchType értékét. A hatékony érték tükrözi azt a formázást, amely ténylegesen alkalmazásra kerül az öröklés feloldása után:
$presentation = new Presentation("presentation.pptx");
try {
$shape = $presentation->getSlides()->get_Item(0)->getShapes()->get_Item(0);
$lineFormat = $shape->getLineFormat();
$explicitSketchType = $lineFormat->getSketchFormat()->getSketchType();
$effectiveLineFormat = $lineFormat->getEffective();
$effectiveSketchType = $effectiveLineFormat->getSketchFormat()->getSketchType();
echo "Explicit sketch type: " . $explicitSketchType . PHP_EOL;
echo "Effective sketch type: " . $effectiveSketchType . PHP_EOL;
} finally {
$presentation->dispose();
}
Csatlakozási stílusok formázása
A három csatlakozási típus:
- Kerek
- Éles
- Ferde
Alapértelmezés szerint, amikor a PowerPoint két vonalat összekapcsol egy szögben (például egy alakzat sarkán), a Kerek beállítást használja. Ha azonban hegyes szögekű alakzatot rajzol, a Éles opció lehet előnyösebb.

Az alábbi PHP kód bemutatja, hogyan hoztak létre három téglalapot (a fenti képen látható) az Éles, Ferde és Kerek csatlakozási típusokkal:
// Példányosítja a Presentation osztályt, amely egy prezentáció fájlt képvisel.
$presentation = new Presentation();
try {
// Lekéri az első diát.
$slide = $presentation->getSlides()->get_Item(0);
// Hozzáad három Rectangle típusú automatikus alakzatot.
$shape1 = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 20, 20, 150, 75);
$shape2 = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 210, 20, 150, 75);
$shape3 = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 20, 135, 150, 75);
// Beállítja minden téglalap alakzat kitöltő színét.
$shape1->getFillFormat()->setFillType(FillType::Solid);
$shape1->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
$shape2->getFillFormat()->setFillType(FillType::Solid);
$shape2->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
$shape3->getFillFormat()->setFillType(FillType::Solid);
$shape3->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
// Beállítja a vonalvastagságot.
$shape1->getLineFormat()->setWidth(15);
$shape2->getLineFormat()->setWidth(15);
$shape3->getLineFormat()->setWidth(15);
// Beállítja minden téglalap vonalának színét.
$shape1->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape1->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$shape2->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape2->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$shape3->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape3->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
// Beállítja a csatlakozási stílust.
$shape1->getLineFormat()->setJoinStyle(LineJoinStyle::Miter);
$shape2->getLineFormat()->setJoinStyle(LineJoinStyle::Bevel);
$shape3->getLineFormat()->setJoinStyle(LineJoinStyle::Round);
// Szöveget ad minden téglalaphoz.
$shape1->getTextFrame()->setText("Miter Join Style");
$shape2->getTextFrame()->setText("Bevel Join Style");
$shape3->getTextFrame()->setText("Round Join Style");
// Mentse a PPTX fájlt lemezre.
$presentation->save("join_styles.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Színátmenetes kitöltés
A PowerPointban a Színátmenetes kitöltés egy olyan formázási lehetőség, amely lehetővé teszi, hogy folyamatos színátmenetet alkalmazzon egy alakzatra. Például két vagy több színt alkalmazhat úgy, hogy az egyik fokozatosan átmegy a másikba.
Így alkalmazhat színátmenetes kitöltést egy alakzatra az Aspose.Slides segítségével:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen referenciát egy diára a sorszám alapján.
- Adjon egy AutoShape elemet a diához.
- Állítsa be az alakzat FillType értékét
Gradient-re. - Adja hozzá a két kedvenc színét a meghatározott pozíciókkal a GradientFormat által biztosított színátmenet‑állomás gyűjtemény
addmetódusaival. - Mentse a módosított prezentációt PPTX fájlként.
Az alábbi PHP kód bemutatja, hogyan alkalmazzon színátmenetes kitöltést egy ellipszisre:
// Példányosítja a Presentation osztályt, amely egy prezentációfájlt képvisel.
$presentation = new Presentation();
try {
// Lekéri az első diát.
$slide = $presentation->getSlides()->get_Item(0);
// Hozzáad egy Ellipse típusú automatikus alakzatot.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Ellipse, 50, 50, 150, 75);
// Alkalmaz színátmenetes formázást az ellipszisre.
$shape->getFillFormat()->setFillType(FillType::Gradient);
$shape->getFillFormat()->getGradientFormat()->setGradientShape(GradientShape::Linear);
// Beállítja a színátmenet irányát.
$shape->getFillFormat()->getGradientFormat()->setGradientDirection(GradientDirection::FromCorner2);
// Két színátmeneti állomást ad hozzá.
$shape->getFillFormat()->getGradientFormat()->getGradientStops()->addPresetColor(1.0, PresetColor::Purple);
$shape->getFillFormat()->getGradientFormat()->getGradientStops()->addPresetColor(0, PresetColor::Red);
// Mentse a PPTX fájlt lemezre.
$presentation->save("gradient_fill.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Az eredmény:

Minta kitöltés
A PowerPointban a Minta kitöltés egy olyan formázási lehetőség, amely lehetővé teszi, hogy két színből álló mintát – például pontokat, csíkokat, keresztelrendezést vagy négyzetrácsot – alkalmazzon egy alakzatra. A minta előtér- és háttérszínéhez egyedi színeket választhat.
Az Aspose.Slides több mint 45 előre definiált mintastílust kínál, amelyeket alakzatokra alkalmazhat a prezentációk megjelenésének fokozásához. Még előre definiált minta kiválasztása után is megadhatja a pontos színeket, amelyeket használni szeretne.
Így alkalmazhat mintát egy alakzatra az Aspose.Slides segítségével:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen referenciát egy diára a sorszám alapján.
- Adjon egy AutoShape elemet a diához.
- Állítsa be az alakzat FillType értékét
Pattern-re. - Válasszon egy mintastílust az előre definiált lehetőségek közül.
- Állítsa be a minta Background Color színét.
- Állítsa be a minta Foreground Color színét.
- Mentse a módosított prezentációt PPTX fájlként.
Az alábbi PHP kód bemutatja, hogyan alkalmazzon mintát egy téglalapra:
// Példányosítja a Presentation osztályt, amely egy prezentációfájlt képvisel.
$presentation = new Presentation();
try {
// Lekéri az első diát.
$slide = $presentation->getSlides()->get_Item(0);
// Hozzáad egy Rectangle típusú automatikus alakzatot.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 75);
// Beállítja a kitöltés típusát Pattern-re.
$shape->getFillFormat()->setFillType(FillType::Pattern);
// Beállítja a minta stílusát.
$shape->getFillFormat()->getPatternFormat()->setPatternStyle(PatternStyle::Trellis);
// Beállítja a minta háttér- és előtérszínét.
$shape->getFillFormat()->getPatternFormat()->getBackColor()->setColor(java("java.awt.Color")->LIGHT_GRAY);
$shape->getFillFormat()->getPatternFormat()->getForeColor()->setColor(java("java.awt.Color")->YELLOW);
// Mentse a PPTX fájlt lemezre.
$presentation->save("pattern_fill.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Az eredmény:

Kép kitöltés
A PowerPointban a Kép kitöltés egy olyan formázási lehetőség, amellyel egy képet szúrhat be egy alakzatba – gyakorlatilag a képet használja az alakzat háttérként.
Így használhatja az Aspose.Slides‑t kép‑kitöltés alkalmazásához:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen referenciát egy diára a sorszám alapján.
- Adjon egy AutoShape elemet a diához.
- Állítsa be az alakzat FillType értékét
Picture-re. - Állítsa be a kép kitöltés módját
Tile-re (vagy a kívánt másik módra). - Hozzon létre egy PPImage objektumot a használni kívánt képből.
- Adja át a képet a
SlidesPicture.setImagemetódusnak. - Mentse a módosított prezentációt PPTX fájlként.
Tegyük fel, hogy rendelkezünk egy lotus.png fájllal a következő képpel:

Az alábbi PHP kód bemutatja, hogyan töltsön ki egy alakzatot a képpel:
// Példányosítja a Presentation osztályt, amely egy prezentációfájlt képvisel.
$presentation = new Presentation();
try {
// Lekéri az első diát.
$slide = $presentation->getSlides()->get_Item(0);
// Hozzáad egy Rectangle típusú automatikus alakzatot.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 255, 130);
// Beállítja a kitöltés típusát Picture-re.
$shape->getFillFormat()->setFillType(FillType::Picture);
// Beállítja a kép kitöltés módját.
$shape->getFillFormat()->getPictureFillFormat()->setPictureFillMode(PictureFillMode::Tile);
// Betölt egy képet és hozzáadja a prezentáció erőforrásaihoz.
$image = Images::fromFile("lotus.png");
$picture = $presentation->getImages()->addImage($image);
$image->dispose();
// Beállítja a képet.
$shape->getFillFormat()->getPictureFillFormat()->getPicture()->setImage($picture);
// Mentse a PPTX fájlt lemezre.
$presentation->save("picture_fill.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Az eredmény:

Kép csempézése textúraként
Ha egy csempézett képet szeretne textúraként beállítani, és testreszabni a csempézés viselkedését, használhatja a PictureFillFormat osztály következő metódusait:
- setPictureFillMode: Beállítja a kép kitöltés módját –
TilevagyStretch. - setTileAlignment: Megadja a csempék igazítását az alakzaton belül.
- setTileFlip: Szabályozza, hogy a csempe vízszintesen, függőlegesen vagy mindkettőre legyen tükrözve.
- setTileOffsetX: Beállítja a csempe vízszintes eltolását (pontban) az alakzat kiindulási pontjától.
- setTileOffsetY: Beállítja a csempe függőleges eltolását (pontban) az alakzat kiindulási pontjától.
- setTileScaleX: Meghatározza a csempe vízszintes méretezését százalékban.
- setTileScaleY: Meghatározza a csempe függőleges méretezését százalékban.
Az alábbi kódrészlet megmutatja, hogyan adjon egy téglalap alakzatot csempézett kép kitöltéssel, és hogyan konfigurálja a csempe beállításait:
// Példányosítja a Presentation osztályt, amely egy prezentációfájlt képvisel.
$presentation = new Presentation();
try {
// Lekéri az első diát.
$firstSlide = $presentation->getSlides()->get_Item(0);
// Hozzáad egy Rectangle típusú automatikus alakzatot.
$shape = $firstSlide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 190, 95);
// Beállítja az alakzat kitöltés típusát Picture-re.
$shape->getFillFormat()->setFillType(FillType::Picture);
// Betölti a képet és hozzáadja a prezentáció erőforrásaihoz.
$sourceImage = Images::fromFile("lotus.png");
$presentationImage = $presentation->getImages()->addImage($sourceImage);
$sourceImage->dispose();
// Hozzárendeli a képet az alakzathoz.
$pictureFillFormat = $shape->getFillFormat()->getPictureFillFormat();
$pictureFillFormat->getPicture()->setImage($presentationImage);
// Konfigurálja a kép kitöltés módját és a csempézés tulajdonságait.
$pictureFillFormat->setPictureFillMode(PictureFillMode::Tile);
$pictureFillFormat->setTileOffsetX(-32);
$pictureFillFormat->setTileOffsetY(-32);
$pictureFillFormat->setTileScaleX(50);
$pictureFillFormat->setTileScaleY(50);
$pictureFillFormat->setTileAlignment(RectangleAlignment::BottomRight);
$pictureFillFormat->setTileFlip(TileFlip::FlipBoth);
// Mentse a PPTX fájlt lemezre.
$presentation->save("tile.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Az eredmény:

Egyszínű kitöltés
A PowerPointban az Egyszínű kitöltés egy olyan formázási lehetőség, amely egyetlen, egyenletes színnel tölti ki az alakzatot. Ez a plain háttérszín gradiensek, textúrák vagy minták nélkül kerül alkalmazásra.
Az egyszínű kitöltés alkalmazásához az Aspose.Slides segítségével kövesse az alábbi lépéseket:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen referenciát egy diára a sorszám alapján.
- Adjon egy AutoShape elemet a diához.
- Állítsa be az alakzat FillType értékét
Solid-ra. - Rendelje hozzá a kívánt kitöltési színt az alakzathoz.
- Mentse a módosított prezentációt PPTX fájlként.
Az alábbi PHP kód bemutatja, hogyan alkalmazzon egyszínű kitöltést egy téglalapra egy PowerPoint dián:
// Példányosítja a Presentation osztályt, amely egy prezentációfájlt képvisel.
$presentation = new Presentation();
try {
// Lekéri az első diát.
$slide = $presentation->getSlides()->get_Item(0);
// Hozzáad egy Rectangle típusú automatikus alakzatot.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 75);
// Beállítja a kitöltés típusát Solid-ra.
$shape->getFillFormat()->setFillType(FillType::Solid);
// Beállítja a kitöltés színét.
$shape->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->YELLOW);
// Mentse a PPTX fájlt lemezre.
$presentation->save("solid_color_fill.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Az eredmény:

Átlátszóság beállítása
A PowerPointban, ha egyszínű, színátmenetes, képes vagy textúrás kitöltést alkalmaz alaprajzokra, beállíthat átlátszósági szintet a kitöltés átlátszatlanságának szabályozásához. A magasabb átlátszósági érték átlátszóbbá teszi az alakzatot, lehetővé téve, hogy a háttér vagy az alatta lévő objektum részben látható legyen.
Az Aspose.Slides lehetővé teszi az átlátszósági szint beállítását a kitöltéshez használt szín alfaértékének módosításával. Így teheti:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen referenciát egy diára a sorszám alapján.
- Adjon egy AutoShape elemet a diához.
- Állítsa be a FillType értékét
Solid-ra. - Használja a
Colorosztályt egy átlátszóságot tartalmazó szín definiálásához (azalphakomponens szabályozza az átlátszóságot). - Mentse a prezentációt.
Az alábbi PHP kód bemutatja, hogyan alkalmazzon átlátszó kitöltési színt egy téglalapra:
// Példányosítja a Presentation osztályt, amely egy prezentációfájlt képvisel.
$presentation = new Presentation();
try {
// Lekéri az első diát.
$slide = $presentation->getSlides()->get_Item(0);
// Hozzáad egy szilárd téglalap automatikus alakzatot.
$solidShape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 75);
// Hozzáad egy átlátszó téglalap automatikus alakzatot a szilárd alakzat fölé.
$transparentShape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 80, 80, 150, 75);
$transparentShape->getFillFormat()->setFillType(FillType::Solid);
$transparentShape->getFillFormat()->getSolidFillColor()->setColor(new java("java.awt.Color", 255, 255, 0, 204));
// Mentse a PPTX fájlt lemezre.
$presentation->save("shape_transparency.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Az eredmény:

Alakzatok forgatása
Az Aspose.Slides lehetővé teszi alakzatok forgatását PowerPoint prezentációkban. Ez hasznos lehet a vizuális elemek bizonyos igazítási vagy tervezési igények szerinti elhelyezésekor.
Alakzat forgatásához a dián kövesse az alábbi lépéseket:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen referenciát egy diára a sorszám alapján.
- Adjon egy AutoShape elemet a diához.
- Állítsa be az alakzat forgatási tulajdonságát a kívánt szögre.
- Mentse a prezentációt.
Az alábbi PHP kód bemutatja, hogyan forgasson egy alakzatot 5 fokkal:
// Példányosítja a Presentation osztályt, amely egy prezentációfájlt képvisel.
$presentation = new Presentation();
try {
// Lekéri az első diát.
$slide = $presentation->getSlides()->get_Item(0);
// Hozzáad egy Rectangle típusú automatikus alakzatot.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 75);
// Elforgatja az alakzatot 5 fokkal.
$shape->setRotation(5);
// Mentse a PPTX fájlt lemezre.
$presentation->save("shape_rotation.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Az eredmény:

3D ferde hatások hozzáadása
Az Aspose.Slides lehetővé teszi 3D ferde (bevel) hatások alkalmazását alakzatokra a ThreeDFormat tulajdonságainak konfigurálásával.
3D ferde hatások hozzáadásához egy alakzatra kövesse az alábbi lépéseket:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen referenciát egy diára a sorszám alapján.
- Adjon egy AutoShape elemet a diához.
- Konfigurálja az alakzat ThreeDFormat tulajdonságait a ferde beállítások meghatározásához.
- Mentse a prezentációt.
Az alábbi PHP kód megmutatja, hogyan alkalmazzon 3D ferde hatást egy alakzatra:
// Példányosít egy példányt a Presentation osztályból.
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
// Hozzáad egy alakzatot a diához.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Ellipse, 50, 50, 100, 100);
$shape->getFillFormat()->setFillType(FillType::Solid);
$shape->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
$shape->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->ORANGE);
$shape->getLineFormat()->setWidth(2.0);
// Beállítja az alakzat ThreeDFormat tulajdonságait.
$shape->getThreeDFormat()->setDepth(4);
$shape->getThreeDFormat()->getBevelTop()->setBevelType(BevelPresetType::Circle);
$shape->getThreeDFormat()->getBevelTop()->setHeight(6);
$shape->getThreeDFormat()->getBevelTop()->setWidth(6);
$shape->getThreeDFormat()->getCamera()->setCameraType(CameraPresetType::OrthographicFront);
$shape->getThreeDFormat()->getLightRig()->setLightType(LightRigPresetType::ThreePt);
$shape->getThreeDFormat()->getLightRig()->setDirection(LightingDirection::Top);
// Mentse a prezentációt PPTX fájlként.
$presentation->save("3D_bevel_effect.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Az eredmény:

3D forgatási hatások hozzáadása
Az Aspose.Slides lehetővé teszi 3D forgatási hatások alkalmazását alakzatokra a ThreeDFormat tulajdonságainak konfigurálásával.
3D forgatás alkalmazásához egy alakzatra:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen referenciát egy diára a sorszám alapján.
- Adjon egy AutoShape elemet a diához.
- Használja a setCameraType és a setLightType metódusokat a 3D forgatás meghatározásához.
- Mentse a prezentációt.
Az alábbi PHP kód bemutatja, hogyan alkalmazzon 3D forgatási hatást egy alakzatra:
// Létrehoz egy példányt a Presentation osztályból.
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$autoShape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 75);
$autoShape->getTextFrame()->setText("Hello, Aspose!");
$autoShape->getThreeDFormat()->setDepth(6);
$autoShape->getThreeDFormat()->getCamera()->setRotation(40, 35, 20);
$autoShape->getThreeDFormat()->getCamera()->setCameraType(CameraPresetType::IsometricLeftUp);
$autoShape->getThreeDFormat()->getLightRig()->setLightType(LightRigPresetType::Balanced);
// Mentse a prezentációt PPTX fájlként.
$presentation->save("3D_rotation_effect.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Az eredmény:

Fekete-fehér megjelenítés vezérlése alakzatokhoz
A Shape::setBlackWhiteMode metódus meghatározza, hogyan jelenik meg egy adott alakzat, amikor a prezentációt fekete-fehér módban tekintik vagy dolgozzák fel. Nem kapcsol be automatikusan a fekete-fehér megjelenítést, és nem változtatja meg a forma kitöltését, vonalát vagy egyéb formázását normál színmódban.
Használjon egy értéket a BlackWhiteMode osztályból a kívánt viselkedés kiválasztásához. Például az Automatic lehetővé teszi, hogy a megjelenítő alkalmazás válassza ki a konverziót, a Gray és LightGray szürke árnyalatot használ, a BlackWhite csak feketét és fehéret, a Black és White egyetlen színt erőltet, a Color megőrzi a normál színezést, a Hidden elrejti az alakzatot fekete‑fehér módban, a NotDefined pedig azt jelenti, hogy nincs alakzatszintű mód beállítva.
Az alábbi PHP kód egy színes alakzatot hoz létre, és fekete‑fehér megjelenítés esetén szürke színben jeleníti meg:
use aspose\slides\BlackWhiteMode;
use aspose\slides\FillType;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 100);
$shape->getFillFormat()->setFillType(FillType::Solid);
$orange = new Java("java.awt.Color", 255, 165, 0);
$shape->getFillFormat()->getSolidFillColor()->setColor($orange);
// Tartsa meg a narancssárga kitöltést színmódban, de a alakzatot szürke színnel jelenítse meg fekete-fehér módban.
$shape->setBlackWhiteMode(BlackWhiteMode::Gray);
$presentation->save("shape_black_white_mode.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Normál színmódban a téglalap megtartja narancssárga kitöltését. Fekete‑fehér megjelenítési munkafolyamat során a Gray mód miatt szürke színt kap, így a teljes színű diát megőrizheti, miközben a nyomtatás, előnézet vagy egyéb, a fekete‑fehér beállításokat tiszteletben tartó munkafolyamatokhoz külön megjelenést definiál.
Formázás alaphelyzetbe állítása
Az alábbi Java kód bemutatja, hogyan állíthatja vissza egy dia formázását, és hogyan állíthatja vissza a helyzetet, méretet és a helyőrzőkkel ellátott alakzatok formázását a LayoutSlide alapértelmezett beállításaira:
$presentation = new Presentation("sample.pptx");
try {
for ($i = 0; $i < java_values($presentation->getSlides()->size()); $i++) {
$slide = $presentation->getSlides()->get_Item($i);
// Állítsa vissza a dián lévő minden alakzatot, amelynek helyőrzője van az elrendezésen.
$slide->reset();
}
$presentation->save("reset_formatting.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
GYIK
Aforma formázása befolyásolja a végleges prezentáció fájlméretét?
Csak minimálisan. A beágyazott képek és médiafájlok foglalják a legtöbb helyet, míg a forma paraméterek, például színek, hatások és színátmenetek metaadatként tárolódnak, és gyakorlatilag nem növelik a méretet.
Hogyan tudok olyan alakzatokat felderíteni egy dián, amelyek azonos formázást használnak, hogy csoportosíthassam őket?
Hasonlítsa össze minden alakzat kulcsfontosságú formázási tulajdonságait – kitöltés, vonal és hatás beállítások. Ha minden érték egyezik, tekintse a stílusokat azonosnak, és logikailag csoportosítsa az alakzatokat, ezzel leegyszerűsítve a későbbi stíluskezelést.
Menthetek egy egyedi forma stíluskészletet egy külön fájlba, hogy más prezentációkban újra felhasználjam?
Igen. Tároljon minta alakzatokat a kívánt stílusokkal egy sablon diákkönyvtárban vagy .POTX sablonfájlban. Új prezentáció létrehozásakor nyissa meg a sablont, klónozza a szükséges formázott alakzatokat, és alkalmazza a formázásukat ahol szükséges.