Formázza a PowerPoint alakzatokat Java-ban
Bevezetés
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. Emellett beállíthatja az alakzatok kitöltését irányító beállítások megadásával.

Aspose.Slides for Java felületeket és metódusokat biztosít, amelyek lehetővé teszik az alakzatok formázását a PowerPointban elérhető ugyanazon beállításokkal.
Vonalak formázása
Aspose.Slides segítségével megadhat egy egyéni vonalstílust egy alakzathoz. Az alábbi lépések mutatják a eljárást:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen hivatkozást egy diára az indexe alapján.
- Adjon egy IAutoShape elemet a diára.
- Állítsa be az alakzat vonalstílusát.
- Állítsa be a vonal vastagságát.
- Állítsa be a vonal szaggatott stílusát.
- Állítsa be a vonal színét az alakzathoz.
- Mentse a módosított prezentációt PPTX fájlként.
A következő kód bemutatja, hogyan formázhat egy AutoShape téglalapot:
import com.aspose.slides.*;
import java.awt.Color;
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
Presentation presentation = new Presentation();
try {
// Szerezze meg az első diát.
ISlide slide = presentation.getSlides().get_Item(0);
// Adjon hozzá egy Rectangle típusú automatikus alakzatot.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 75);
// Állítsa be a téglalap alakzat kitöltő színét.
shape.getFillFormat().setFillType(FillType.NoFill);
// Alkalmazzon formázást a téglalap vonalaira.
shape.getLineFormat().setStyle(LineStyle.ThickThin);
shape.getLineFormat().setWidth(7);
shape.getLineFormat().setDashStyle(LineDashStyle.Dash);
// Állítsa be a téglalap vonalának színét.
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
// Mentse a PPTX fájlt a lemezre.
presentation.save("formatted_lines.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Az eredmény:

Vázlatos hatások alkalmazása az alakzat vonalaira
Az vázlatos hatás úgy jeleníti meg a vonalat, mintha kézzel rajzolt lenne. Használja a IShape.getLineFormat metódust a vonalbeállítások eléréséhez, a ILineFormat.getSketchFormat metódust a vázlat beállításokhoz, és a ISketchFormat.setSketchType metódust a LineSketchType felsorolásból egy érték kiválasztásához.
A következő Java kód bemutatja, hogyan alkalmazzon egy LineSketchType.Curved hatást, hogyan olvassa ki a kifejezetten hozzárendelt értéket, és hogyan távolítsa el a hatást a LineSketchType.None használatával:
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100);
// Hozzáfér az alakzat vonalformátumához és annak vázlatformátumához.
ISketchFormat sketchFormat = shape.getLineFormat().getSketchFormat();
// Alkalmaz egy vázlat hatást.
sketchFormat.setSketchType(LineSketchType.Curved);
// Olvassa ki a közvetlenül az alakzatra hozzárendelt vázlat hatást.
int explicitSketchType = sketchFormat.getSketchType();
System.out.println("Explicit sketch type: " + explicitSketchType);
// Távolítsa el a vázlat hatást.
sketchFormat.setSketchType(LineSketchType.None);
} finally {
presentation.dispose();
}
A ISketchFormat.getSketchType által visszaadott érték a közvetlenül az alakzatra beállított beállítást jelenti. Ha a vonalformázás öröklődésen keresztül jön egy témából, mesterdiából vagy elrendezési diából, használja az ILineFormat.getEffective, érje el a ILineFormatEffectiveData.getSketchFormat, és olvassa ki az ISketchFormatEffectiveData.getSketchType. A hatékony érték azt a formázást tükrözi, amely az öröklődés feloldása után ténylegesen alkalmazásra kerül:
Presentation presentation = new Presentation("presentation.pptx");
try {
IShape shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0);
ILineFormat lineFormat = shape.getLineFormat();
int explicitSketchType = lineFormat.getSketchFormat().getSketchType();
ILineFormatEffectiveData effectiveLineFormat = lineFormat.getEffective();
int effectiveSketchType = effectiveLineFormat.getSketchFormat().getSketchType();
System.out.println("Explicit sketch type: " + explicitSketchType);
System.out.println("Effective sketch type: " + effectiveSketchType);
} finally {
presentation.dispose();
}
Csatlakozási stílusok formázása
Itt vannak a három csatlakozási típus lehetőségei:
- Kerek
- Derékszögű
- Feréles
Alapértelmezés szerint, amikor a PowerPoint két vonalat szöggel (például egy alakzat sarkán) kapcsol össze, a Kerek beállítást használja. Azonban, ha éles szögekkel rendelkező alakzatot rajzol, előnyben részesítheti a Derékszögű lehetőséget.

A következő Java kód bemutatja, hogyan hoztak létre három téglalapot (az előző képen látható módon) a Derékszögű, Feréles és Kerek csatlakozási típus beállításokkal:
import com.aspose.slides.*;
import java.awt.Color;
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
Presentation presentation = new Presentation();
try {
// Szerezze meg az első diát.
ISlide slide = presentation.getSlides().get_Item(0);
// Adjon hozzá három Rectangle típusú automatikus alakzatot.
IAutoShape shape1 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 20, 150, 75);
IAutoShape shape2 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 210, 20, 150, 75);
IAutoShape shape3 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 135, 150, 75);
// Állítsa be a kitöltő színt minden téglalap alakzathoz.
shape1.getFillFormat().setFillType(FillType.Solid);
shape1.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
shape2.getFillFormat().setFillType(FillType.Solid);
shape2.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
shape3.getFillFormat().setFillType(FillType.Solid);
shape3.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
// Állítsa be a vonal vastagságát.
shape1.getLineFormat().setWidth(15);
shape2.getLineFormat().setWidth(15);
shape3.getLineFormat().setWidth(15);
// Állítsa be a vonal színét minden téglalaphoz.
shape1.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape1.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
shape2.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape2.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
shape3.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape3.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
// Állítsa be a csatlakozási stílust.
shape1.getLineFormat().setJoinStyle(LineJoinStyle.Miter);
shape2.getLineFormat().setJoinStyle(LineJoinStyle.Bevel);
shape3.getLineFormat().setJoinStyle(LineJoinStyle.Round);
// Adjon szöveget 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 a lemezre.
presentation.save("join_styles.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Gradiens kitöltés
PowerPointban a Gradiens kitöltés egy olyan formázási beállítás, 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 átmenjen a másikba.
Itt látható, hogyan alkalmazzon gradiens 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 hivatkozást egy diára az indexe alapján.
- Adjon egy IAutoShape elemet a diára.
- Állítsa be az alakzat FillType értékét
Gradient-re. - Adja hozzá a két kívánt színt a megadott pozíciókkal az IGradientFormat felület által biztosított
addmetódusokkal a gradiens‑stop gyűjteményben. - Mentse a módosított prezentációt PPTX fájlként.
import com.aspose.slides.*;
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
Presentation presentation = new Presentation();
try {
// Szerezze meg az első diát.
ISlide slide = presentation.getSlides().get_Item(0);
// Adjon hozzá egy Ellipse típusú automatikus alakzatot.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 150, 75);
// Alkalmazzon gradiens formázást az ellipszisre.
shape.getFillFormat().setFillType(FillType.Gradient);
shape.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear);
// Állítsa be a gradiens irányát.
shape.getFillFormat().getGradientFormat().setGradientDirection(GradientDirection.FromCorner2);
// Adjon hozzá két gradiens stopot.
shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)1.0, PresetColor.Purple);
shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)0, PresetColor.Red);
// Mentse a PPTX fájlt a lemezre.
presentation.save("gradient_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Ha egy gradiens másként néz ki egy exportált képen, mint a PowerPointban, tekintse meg a Choose a Gradient Rendering Style oldalt. Kiválaszthat egy renderelési stílust anélkül, hogy megváltoztatná a prezentációban tárolt gradiens kitöltést.
Minta kitöltés
PowerPointban a Minta kitöltés egy formázási beállítás, amely lehetővé teszi, hogy kétszínű mintát (például pontokat, csíkokat, keresztvonalakat vagy négyzethálót) alkalmazzon egy alakzatra. Egyedi színeket választhat a minta előtérhez és háttérhez.
Az Aspose.Slides több mint 45 előre definiált minta stílust biztosít, amelyeket alakzatokra alkalmazhat a prezentációk vizuális vonzerejének növelésére. Még egy előre definiált minta kiválasztása után is megadhatja a pontos színeket, amelyeket használjon.
Itt látható, hogyan alkalmazzon minta 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 hivatkozást egy diára az indexe alapján.
- Adjon egy IAutoShape elemet a diára.
- Állítsa be az alakzat FillType értékét
Pattern-re. - Válasszon egy minta stílust az előre definiált lehetőségek közül.
- Állítsa be a minta Background Color értékét.
- Állítsa be a minta Foreground Color értékét.
- Mentse a módosított prezentációt PPTX fájlként.
import com.aspose.slides.*;
import java.awt.Color;
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
Presentation presentation = new Presentation();
try {
// Szerezze meg az első diát.
ISlide slide = presentation.getSlides().get_Item(0);
// Adjon hozzá egy Rectangle típusú automatikus alakzatot.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Állítsa be a kitöltés típusát Pattern-re.
shape.getFillFormat().setFillType(FillType.Pattern);
// Állítsa be a minta stílusát.
shape.getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.Trellis);
// Állítsa be a minta háttér- és előtér színeit.
shape.getFillFormat().getPatternFormat().getBackColor().setColor(Color.LIGHT_GRAY);
shape.getFillFormat().getPatternFormat().getForeColor().setColor(Color.YELLOW);
// Mentse a PPTX fájlt a lemezre.
presentation.save("pattern_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Kép kitöltés
PowerPointban a Kép kitöltés egy formázási beállítás, amely lehetővé teszi, hogy egy képet helyezzen el egy alakzat belsejében – hatékonyan használva a képet az alakzat háttérként.
Itt látható, hogyan alkalmazzon kép 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 hivatkozást egy diára az indexe alapján.
- Adjon egy IAutoShape elemet a diára.
- Állítsa be az alakzat FillType értékét
Picture-re. - Állítsa be a kép kitöltési módot
Tile-re (vagy egy másik kívánt módra). - Hozzon létre egy IPPImage objektumot a használandó képből.
- Adja át a képet az
ISlidesPicture.setImagemetódusnak. - Mentse a módosított prezentációt PPTX fájlként.

import com.aspose.slides.*;
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
Presentation presentation = new Presentation();
try {
// Szerezze meg az első diát.
ISlide slide = presentation.getSlides().get_Item(0);
// Adjon hozzá egy Rectangle típusú automatikus alakzatot.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 255, 130);
// Állítsa be a kitöltés típusát Picture-re.
shape.getFillFormat().setFillType(FillType.Picture);
// Állítsa be a kép kitöltési módot.
shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Tile);
// Töltsön be egy képet, és adja hozzá a prezentáció erőforrásaihoz.
IImage image = Images.fromFile("lotus.png");
IPPImage picture = presentation.getImages().addImage(image);
image.dispose();
// Állítsa be a képet.
shape.getFillFormat().getPictureFillFormat().getPicture().setImage(picture);
// Mentse a PPTX fájlt a lemezre.
presentation.save("picture_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Kép csempézése textúraként
Ha csempézett képet szeretne textúraként beállítani és testreszabni a csempézés viselkedését, használhatja a IPictureFillFormat felület és a PictureFillFormat osztály alábbi metódusait:
- setPictureFillMode: Beállítja a kép kitöltési módot –
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ópontjától.
- setTileOffsetY: Beállítja a csempe függőleges eltolását (pontban) az alakzat kiinduló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.
A következő kódrészlet bemutatja, hogyan adjon hozzá egy téglalap alakzatot csempézett kép kitöltéssel, és állítsa be a csempe opciókat:
import com.aspose.slides.*;
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
Presentation presentation = new Presentation();
try {
// Szerezze meg az első diát.
ISlide firstSlide = presentation.getSlides().get_Item(0);
// Adjon hozzá egy Rectangle típusú automatikus alakzatot.
IAutoShape shape = firstSlide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95);
// Állítsa be az alakzat kitöltés típusát Picture-re.
shape.getFillFormat().setFillType(FillType.Picture);
// Töltsön be egy képet, és adja hozzá a prezentáció erőforrásaihoz.
IImage sourceImage = Images.fromFile("lotus.png");
IPPImage presentationImage = presentation.getImages().addImage(sourceImage);
sourceImage.dispose();
// Rendelje hozzá a képet az alakzathoz.
IPictureFillFormat pictureFillFormat = shape.getFillFormat().getPictureFillFormat();
pictureFillFormat.getPicture().setImage(presentationImage);
// Állítsa be a kép kitöltési módot é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 a lemezre.
presentation.save("tile.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Egyszínű kitöltés
PowerPointban az Egyszínű kitöltés egy olyan formázási beállítás, amely egyetlen, egységes színnel tölti ki az alakzatot. Ez az egyszerű háttérszín grádiensek, textúrák vagy minták nélkül kerül alkalmazásra.
Az egyszínű kitöltés alakzatra való 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 hivatkozást egy diára az indexe alapján.
- Adjon egy IAutoShape elemet a diára.
- Állítsa be az alakzat FillType értékét
Solid-ra. - Rendelje hozzá a kívánt kitöltő színt az alakzathoz.
- Mentse a módosított prezentációt PPTX fájlként.
import com.aspose.slides.*;
import java.awt.Color;
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
Presentation presentation = new Presentation();
try {
// Szerezze meg az első diát.
ISlide slide = presentation.getSlides().get_Item(0);
// Adjon hozzá egy Rectangle típusú automatikus alakzatot.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Állítsa be a kitöltés típusát Solid-re.
shape.getFillFormat().setFillType(FillType.Solid);
// Állítsa be a kitöltő színt.
shape.getFillFormat().getSolidFillColor().setColor(Color.YELLOW);
// Mentse a PPTX fájlt a lemezre.
presentation.save("solid_color_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Átlátszóság beállítása
PowerPointban, amikor egyszínű, gradiens, kép vagy textúra kitöltést alkalmaz alakzatokra, beállíthat átlátszósági szintet is, amely szabályozza a kitöltés átlátszóságát. A magasabb átlátszósági érték átlátszóbbá teszi az alakzatot, lehetővé téve a háttér vagy a mögöttes objektumok részleges láthatóságát.
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 komponensének módosításával. Íme, hogyan történik:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen hivatkozást egy diára az indexe alapján.
- Adjon egy IAutoShape elemet a diára.
- Állítsa be a FillType értékét
Solid-ra. - Használja a
Colorosztályt egy átlátszó szín definiálásához (azalphakomponens szabályozza az átlátszóságot). - Mentse a prezentációt.
import com.aspose.slides.*;
import java.awt.Color;
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
Presentation presentation = new Presentation();
try {
// Szerezze meg az első diát.
ISlide slide = presentation.getSlides().get_Item(0);
// Adjon hozzá egy szilárd téglalap automatikus alakzatot.
IAutoShape solidShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Adjon hozzá egy átlátszó téglalap automatikus alakzatot a szilárd alakzat fölé.
IAutoShape transparentShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 80, 80, 150, 75);
transparentShape.getFillFormat().setFillType(FillType.Solid);
transparentShape.getFillFormat().getSolidFillColor().setColor(new Color(255, 255, 0, 204));
// Mentse a PPTX fájlt a lemezre.
presentation.save("shape_transparency.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Alakzatok forgatása
Aspose.Slides lehetővé teszi alakzatok forgatását PowerPoint prezentációkban. Ez hasznos lehet a vizuális elemek meghatározott elrendezése vagy tervezése során.
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen hivatkozást egy diára az indexe alapján.
- Adjon egy IAutoShape elemet a diára.
- Állítsa be az alakzat forgatási tulajdonságát a kívánt szögre.
- Mentse a prezentációt.
import com.aspose.slides.*;
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel.
Presentation presentation = new Presentation();
try {
// Szerezze meg az első diát.
ISlide slide = presentation.getSlides().get_Item(0);
// Adjon hozzá egy Rectangle típusú automatikus alakzatot.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Forgassa el az alakzatot 5 fokkal.
shape.setRotation(5);
// Mentse a PPTX fájlt a lemezre.
presentation.save("shape_rotation.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

3D Feréles hatások hozzáadása
Aspose.Slides lehetővé teszi 3D feréles hatások alkalmazását alakzatokra a ThreeDFormat tulajdonságainak beállításával.
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen hivatkozást egy diára az indexe alapján.
- Adjon egy IAutoShape elemet a diára.
- Állítsa be az alakzat ThreeDFormat tulajdonságait a feréles beállítások meghatározásához.
- Mentse a prezentációt.
import com.aspose.slides.*;
import java.awt.Color;
// Hozzon létre egy példányt a Presentation osztályból.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Alakzat hozzáadása a diához.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 100, 100);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(Color.GREEN);
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
shape.getLineFormat().setWidth(2.0);
// Az alakzat ThreeDFormat tulajdonságainak beállítása.
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);
// A prezentáció mentése PPTX fájlként.
presentation.save("3D_bevel_effect.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

3D forgatási hatások hozzáadása
Aspose.Slides lehetővé teszi 3D forgatási hatások alkalmazását alakzatokra a ThreeDFormat tulajdonságainak beállításával.
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezzen hivatkozást egy diára az indexe alapján.
- Adjon egy IAutoShape elemet a diára.
- Használja a setCameraType és a setLightType metódusokat a 3D forgatás meghatározásához.
- Mentse a prezentációt.
import com.aspose.slides.*;
// Hozzon létre egy példányt a Presentation osztályból.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape 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();
}

Fekete-fehér megjelenítés vezérlése alakzatoknál
Az IShape.setBlackWhiteMode metódus meghatározza, hogy egy egyedi alakzat hogyan jelenik meg, amikor a prezentációt fekete-fehér módban tekintik vagy dolgozzák fel. Nem kapcsol be önmagában a fekete-fehér megjelenítést, és nem változtatja meg az alakzat kitöltését, vonalát vagy egyéb formázását a normál színmódban.
Használja a BlackWhiteMode osztály értékét a kívánt viselkedés kiválasztásához. Például az Automatic hagyja, hogy a renderelő alkalmazás válassza a konverziót, a Gray és a LightGray szürke színezést alkalmaz, a BlackWhite csak fekete-fehér színeket használ, a Black és White egyetlen színt kényszerít, a Color megőrzi a normál színezést, a Hidden elrejti az alakzatot fekete-fehér módban, a NotDefined azt jelenti, hogy nincs alakzatszintű mód beállítva.
A következő Java kód létrehoz egy színes alakzatot, és fekete-fehér megjelenítési módban szürkének mutatja:
import com.aspose.slides.*;
import java.awt.Color;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
// Tartsa 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 munkafolyamatban szürke színezést használ, mivel a módja Gray-re van állítva. Ez lehetővé teszi, hogy megtartsa a teljes színű diát, miközben meghatározza a nyomtatás, előnézet vagy egyéb munkafolyamatok számára a külön megjelenést, amelyek tiszteletben tartják a prezentáció fekete-fehér megjelenítési beállításait.
Formázás visszaállítása
A következő Java kód bemutatja, hogyan állítsa vissza egy dia formázását, és hogyan állítsa vissza a LayoutSlide helyőrzőkkel rendelkező összes alakzat pozícióját, méretét és formázását az alapértelmezett beállításokra:
import com.aspose.slides.*;
Presentation presentation = new Presentation("sample.pptx");
try {
for (ISlide slide : presentation.getSlides()) {
// Á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
A befolyásolja az alakzat formázása a végső prezentáció fájlméretét?
Csak minimálisan. A beágyazott képek és médiafájlok foglalják a fájl méretének nagy részét, míg az alakzat paraméterei, mint a színek, hatások és grádiensek metaadatként tárolódnak, és gyakorlatilag nem növelik a méretet.
Hogyan lehet felismerni a dián azonos formázású alakzatokat, hogy csoportosíthassam őket?
Használja az egyes alakzatok kulcsfontosságú formázási tulajdonságainak – kitöltés, vonal és hatás beállításainak – összehasonlítását. Ha minden megfelelő érték egyezik, tekintse a stílusokat azonosnak, és logikailag csoportosítsa az alakzatokat, ez megkönnyíti a későbbi stíluskezelést.
Menthetek egy egyedi alakzati stílusok halmazt külön fájlba, hogy más prezentációkban újra felhasználjam?
Igen. Tárolja a kívánt stílusokkal ellátott minta alakzatokat egy sablon diákkészletben vagy .POTX sablonfájlban. Új prezentáció létrehozásakor nyissa meg a sablont, klónozza a szükséges stílusú alakzatokat, és alkalmazza újra a formázásukat a szükséges helyeken.