Formatowanie kształtów PowerPoint w języku Java
Wprowadzenie
W programie PowerPoint możesz dodawać kształty do slajdów. Ponieważ kształty składają się z linii, możesz je formatować, modyfikując lub stosując efekty na ich konturach. Dodatkowo możesz formatować kształty, określając ustawienia kontrolujące sposób wypełniania ich wnętrz.

Aspose.Slides for Java udostępnia interfejsy i metody, które pozwalają formatować kształty przy użyciu tych samych opcji dostępnych w programie PowerPoint.
Formatowanie linii
Używając Aspose.Slides, możesz określić niestandardowy styl linii dla kształtu. Poniższe kroki opisują procedurę:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu na podstawie jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw styl linii kształtu.
- Ustaw szerokość linii.
- Ustaw styl kreski linii.
- Ustaw kolor linii dla kształtu.
- Zapisz zmodyfikowaną prezentację jako plik PPTX.
Poniższy kod demonstruje, jak sformatować prostokąt AutoShape:
import com.aspose.slides.*;
import java.awt.Color;
// Utwórz instancję klasy Presentation reprezentującej plik prezentacji.
Presentation presentation = new Presentation();
try {
// Uzyskaj pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj auto-kształt typu Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 75);
// Ustaw kolor wypełnienia dla prostokątnego kształtu.
shape.getFillFormat().setFillType(FillType.NoFill);
// Zastosuj formatowanie linii prostokąta.
shape.getLineFormat().setStyle(LineStyle.ThickThin);
shape.getLineFormat().setWidth(7);
shape.getLineFormat().setDashStyle(LineDashStyle.Dash);
// Ustaw kolor linii prostokąta.
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
// Zapisz plik PPTX na dysku.
presentation.save("formatted_lines.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wynik:

Zastosuj efekty szkicu do linii kształtu
Efekt szkicu sprawia, że linia kształtu wygląda jak narysowana ręcznie. Użyj IShape.getLineFormat aby uzyskać dostęp do ustawień linii, ILineFormat.getSketchFormat aby uzyskać dostęp do ustawień szkicu oraz ISketchFormat.setSketchType aby wybrać wartość z wyliczenia LineSketchType.
Poniższy kod Java pokazuje, jak zastosować efekt LineSketchType.Curved, odczytać wyraźnie przypisaną wartość i usunąć efekt za pomocą LineSketchType.None:
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100);
// Uzyskaj dostęp do formatu linii kształtu oraz jego formatu szkicu.
ISketchFormat sketchFormat = shape.getLineFormat().getSketchFormat();
// Zastosuj efekt szkicu.
sketchFormat.setSketchType(LineSketchType.Curved);
// Odczytaj efekt szkicu przypisany bezpośrednio do kształtu.
int explicitSketchType = sketchFormat.getSketchType();
System.out.println("Explicit sketch type: " + explicitSketchType);
// Usuń efekt szkicu.
sketchFormat.setSketchType(LineSketchType.None);
} finally {
presentation.dispose();
}
Wartość zwracana przez ISketchFormat.getSketchType reprezentuje ustawienie przypisane bezpośrednio do kształtu. Jeśli formatowanie linii może być dziedziczone z motywu, slajdu-mistrza lub slajdu układu, użyj ILineFormat.getEffective, uzyskaj dostęp do ILineFormatEffectiveData.getSketchFormat, i odczytaj ISketchFormatEffectiveData.getSketchType. Efektywna wartość odzwierciedla formatowanie faktycznie zastosowane po rozwiązaniu dziedziczenia:
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();
}
Formatowanie stylów połączeń
Oto trzy dostępne opcje typu połączenia:
- Zaokrąglony
- Kątowy
- Ścięty
Domyślnie, gdy PowerPoint łączy dwie linie pod kątem (np. w rogu kształtu), używa ustawienia Round. Jednakże, jeśli rysujesz kształt o ostrych kątach, może Ci bardziej odpowiadać opcja Miter.

Poniższy kod Java demonstruje, jak trzy prostokąty (widoczne na powyższym obrazie) zostały utworzone przy użyciu ustawień typu połączenia Miter, Bevel i Round:
import com.aspose.slides.*;
import java.awt.Color;
// Utwórz instancję klasy Presentation reprezentującej plik prezentacji.
Presentation presentation = new Presentation();
try {
// Uzyskaj pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj trzy auto-kształty typu Rectangle.
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);
// Ustaw kolor wypełnienia dla każdego prostokątnego kształtu.
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);
// Ustaw szerokość linii.
shape1.getLineFormat().setWidth(15);
shape2.getLineFormat().setWidth(15);
shape3.getLineFormat().setWidth(15);
// Ustaw kolor linii dla każdego prostokąta.
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);
// Ustaw styl połączenia.
shape1.getLineFormat().setJoinStyle(LineJoinStyle.Miter);
shape2.getLineFormat().setJoinStyle(LineJoinStyle.Bevel);
shape3.getLineFormat().setJoinStyle(LineJoinStyle.Round);
// Dodaj tekst do każdego prostokąta.
shape1.getTextFrame().setText("Miter Join Style");
shape2.getTextFrame().setText("Bevel Join Style");
shape3.getTextFrame().setText("Round Join Style");
// Zapisz plik PPTX na dysku.
presentation.save("join_styles.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wypełnienie gradientem
W programie PowerPoint wypełnienie gradientem jest opcją formatowania, która pozwala zastosować ciągłe przejście kolorów w kształcie. Na przykład możesz użyć dwóch lub więcej kolorów, tak aby jeden stopniowo przechodził w drugi.
Aby zastosować wypełnienie gradientem do kształtu przy użyciu Aspose.Slides:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu na podstawie jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw FillType kształtu na
Gradient. - Dodaj dwa wybrane kolory wraz z określonymi pozycjami, używając metod
addkolekcji punktów stop gradientu udostępnianej przez interfejs IGradientFormat. - Zapisz zmodyfikowaną prezentację jako plik PPTX.
import com.aspose.slides.*;
// Utwórz instancję klasy Presentation reprezentującej plik prezentacji.
Presentation presentation = new Presentation();
try {
// Uzyskaj pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj auto‑kształt typu Ellipse.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 150, 75);
// Zastosuj formatowanie gradientowe do elipsy.
shape.getFillFormat().setFillType(FillType.Gradient);
shape.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear);
// Ustaw kierunek gradientu.
shape.getFillFormat().getGradientFormat().setGradientDirection(GradientDirection.FromCorner2);
// Dodaj dwa przystanki gradientu.
shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)1.0, PresetColor.Purple);
shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)0, PresetColor.Red);
// Zapisz plik PPTX na dysku.
presentation.save("gradient_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wynik:

Jeśli gradient wygląda inaczej w wyeksportowanym obrazie niż w programie PowerPoint, zobacz Choose a Gradient Rendering Style. Możesz wybrać styl renderowania bez zmiany wypełnienia gradientowego zapisanego w prezentacji.
Wypełnienie wzorem
W programie PowerPoint wypełnienie wzorem jest opcją formatowania, która pozwala zastosować dwukolorowy wzór — np. kropki, paski, krzyżówki lub szachownicę — do kształtu. Możesz wybrać własne kolory pierwszego planu i tła wzoru.
Aspose.Slides udostępnia ponad 45 wstępnie zdefiniowanych stylów wzorów, które możesz zastosować do kształtów, aby zwiększyć atrakcyjność wizualną prezentacji. Nawet po wybraniu gotowego wzoru, możesz dokładnie określić kolory, które mają być użyte.
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu na podstawie jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw FillType kształtu na
Pattern. - Wybierz styl wzoru spośród predefiniowanych opcji.
- Ustaw Kolor tła wzoru.
- Ustaw Kolor pierwszego planu wzoru.
- Zapisz zmodyfikowaną prezentację jako plik PPTX.
import com.aspose.slides.*;
import java.awt.Color;
// Utwórz instancję klasy Presentation reprezentującej plik prezentacji.
Presentation presentation = new Presentation();
try {
// Uzyskaj pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj auto‑kształt typu Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Ustaw typ wypełnienia na Pattern.
shape.getFillFormat().setFillType(FillType.Pattern);
// Ustaw styl wzoru.
shape.getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.Trellis);
// Ustaw kolory tła i pierwszego planu wzoru.
shape.getFillFormat().getPatternFormat().getBackColor().setColor(Color.LIGHT_GRAY);
shape.getFillFormat().getPatternFormat().getForeColor().setColor(Color.YELLOW);
// Zapisz plik PPTX na dysku.
presentation.save("pattern_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wynik:

Wypełnienie obrazem
W programie PowerPoint wypełnienie obrazem jest opcją formatowania, która pozwala wstawić obraz wewnątrz kształtu — skutecznie używając obrazu jako tła kształtu.
Jak używać Aspose.Slides do zastosowania wypełnienia obrazem:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu na podstawie jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw FillType kształtu na
Picture. - Ustaw tryb wypełnienia obrazem na
Tile(lub inny preferowany tryb). - Utwórz obiekt IPPImage z obrazu, który chcesz użyć.
- Przekaż obraz do metody
ISlidesPicture.setImage. - Zapisz zmodyfikowaną prezentację jako plik PPTX.
Załóżmy, że mamy plik „lotus.png” z następującym obrazem:

import com.aspose.slides.*;
// Utwórz instancję klasy Presentation reprezentującej plik prezentacji.
Presentation presentation = new Presentation();
try {
// Uzyskaj pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj auto‑kształt typu Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 255, 130);
// Ustaw typ wypełnienia na Picture.
shape.getFillFormat().setFillType(FillType.Picture);
// Ustaw tryb wypełnienia obrazem.
shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Tile);
// Wczytaj obraz i dodaj go do zasobów prezentacji.
IImage image = Images.fromFile("lotus.png");
IPPImage picture = presentation.getImages().addImage(image);
image.dispose();
// Ustaw obraz.
shape.getFillFormat().getPictureFillFormat().getPicture().setImage(picture);
// Zapisz plik PPTX na dysku.
presentation.save("picture_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wynik:

Użyj obrazu jako tekstury kafelkowej
Jeśli chcesz ustawić kafelkowy obraz jako teksturę i dostosować zachowanie kafelkowania, możesz użyć następujących metod interfejsu IPictureFillFormat i klasy PictureFillFormat:
- setPictureFillMode: Ustawia tryb wypełnienia obrazu —
TilelubStretch. - setTileAlignment: Określa wyrównanie kafelków wewnątrz kształtu.
- setTileFlip: Kontroluje, czy kafelek jest odbity w poziomie, w pionie lub w obu kierunkach.
- setTileOffsetX: Ustawia poziomy offset kafelka (w punktach) względem pochodzenia kształtu.
- setTileOffsetY: Ustawia pionowy offset kafelka (w punktach) względem pochodzenia kształtu.
- setTileScaleX: Definiuje poziomą skalę kafelka jako procent.
- setTileScaleY: Definiuje pionową skalę kafelka jako procent.
Poniższy przykład kodu pokazuje, jak dodać prostokątny kształt z kafelkowym wypełnieniem obrazem i skonfigurować opcje kafelkowania:
import com.aspose.slides.*;
// Utwórz instancję klasy Presentation reprezentującej plik prezentacji.
Presentation presentation = new Presentation();
try {
// Uzyskaj pierwszy slajd.
ISlide firstSlide = presentation.getSlides().get_Item(0);
// Dodaj prostokątny auto‑kształt.
IAutoShape shape = firstSlide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95);
// Ustaw typ wypełnienia kształtu na Picture.
shape.getFillFormat().setFillType(FillType.Picture);
// Wczytaj obraz i dodaj go do zasobów prezentacji.
IImage sourceImage = Images.fromFile("lotus.png");
IPPImage presentationImage = presentation.getImages().addImage(sourceImage);
sourceImage.dispose();
// Przypisz obraz do kształtu.
IPictureFillFormat pictureFillFormat = shape.getFillFormat().getPictureFillFormat();
pictureFillFormat.getPicture().setImage(presentationImage);
// Skonfiguruj tryb wypełnienia obrazem i właściwości kafelkowania.
pictureFillFormat.setPictureFillMode(PictureFillMode.Tile);
pictureFillFormat.setTileOffsetX(-32);
pictureFillFormat.setTileOffsetY(-32);
pictureFillFormat.setTileScaleX(50);
pictureFillFormat.setTileScaleY(50);
pictureFillFormat.setTileAlignment(RectangleAlignment.BottomRight);
pictureFillFormat.setTileFlip(TileFlip.FlipBoth);
// Zapisz plik PPTX na dysku.
presentation.save("tile.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wynik:

Wypełnienie jednolitym kolorem
W programie PowerPoint wypełnienie jednolitym kolorem jest opcją formatowania, która wypełnia kształt jednym, jednorodnym kolorem. Ten jednolity kolor tła jest stosowany bez gradientów, tekstur ani wzorów.
Aby zastosować wypełnienie jednolitym kolorem do kształtu przy użyciu Aspose.Slides, wykonaj następujące kroki:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu na podstawie jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw FillType kształtu na
Solid. - Przypisz wybrany kolor wypełnienia do kształtu.
- Zapisz zmodyfikowaną prezentację jako plik PPTX.
import com.aspose.slides.*;
import java.awt.Color;
// Utwórz instancję klasy Presentation reprezentującej plik prezentacji.
Presentation presentation = new Presentation();
try {
// Uzyskaj pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj auto‑kształt typu Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Ustaw typ wypełnienia na Solid.
shape.getFillFormat().setFillType(FillType.Solid);
// Ustaw kolor wypełnienia.
shape.getFillFormat().getSolidFillColor().setColor(Color.YELLOW);
// Zapisz plik PPTX na dysku.
presentation.save("solid_color_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wynik:

Ustaw przezroczystość
W programie PowerPoint, kiedy stosujesz jednolity, gradientowy, obrazowy lub teksturowany wypełnienie kształtów, możesz także ustawić poziom przezroczystości, aby kontrolować nieprzezroczystość wypełnienia. Wyższa wartość przezroczystości sprawia, że kształt staje się bardziej przezroczysty, umożliwiając częściowe widzenie tła lub obiektów leżących pod nim.
Aspose.Slides pozwala ustawić poziom przezroczystości, dostosowując wartość alfa w kolorze używanym do wypełnienia. Oto jak to zrobić:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu na podstawie jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw FillType na
Solid. - Użyj
Color, aby zdefiniować kolor z przezroczystością (składnikalphasteruje przezroczystością). - Zapisz prezentację.
import com.aspose.slides.*;
import java.awt.Color;
// Utwórz instancję klasy Presentation reprezentującej plik prezentacji.
Presentation presentation = new Presentation();
try {
// Uzyskaj pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj prostokątny auto-kształt wypełniony.
IAutoShape solidShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Dodaj przezroczysty prostokątny auto-kształt nad wypełnionym kształtem.
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));
// Zapisz plik PPTX na dysku.
presentation.save("shape_transparency.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wynik:

Obracanie kształtów
Aspose.Slides pozwala obracać kształty w prezentacjach PowerPoint. Może to być przydatne przy pozycjonowaniu elementów wizualnych wymagających konkretnego wyrównania lub projektu.
Aby obrócić kształt na slajdzie, wykonaj następujące kroki:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu na podstawie jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw właściwość rotacji kształtu na żądany kąt.
- Zapisz prezentację.
import com.aspose.slides.*;
// Utwórz instancję klasy Presentation reprezentującej plik prezentacji.
Presentation presentation = new Presentation();
try {
// Uzyskaj pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj auto-kształt typu Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Obróć kształt o 5 stopni.
shape.setRotation(5);
// Zapisz plik PPTX na dysku.
presentation.save("shape_rotation.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wynik:

Dodaj efekty 3D Bevel
Aspose.Slides umożliwia zastosowanie efektów 3D bevel do kształtów poprzez konfigurowanie ich właściwości ThreeDFormat.
Aby dodać efekty 3D bevel do kształtu, wykonaj następujące kroki:
- Zainicjuj klasę Presentation.
- Uzyskaj referencję do slajdu na podstawie jego indeksu.
- Dodaj IAutoShape do slajdu.
- Skonfiguruj ThreeDFormat kształtu, aby określić ustawienia krawędzi.
- Zapisz prezentację.
import com.aspose.slides.*;
import java.awt.Color;
// Utwórz instancję klasy Presentation.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj kształt do slajdu.
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);
// Ustaw właściwości ThreeDFormat kształtu.
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);
// Zapisz prezentację jako plik PPTX.
presentation.save("3D_bevel_effect.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wynik:

Dodaj efekty obrotu 3D
Aspose.Slides umożliwia zastosowanie efektów obrotu 3D do kształtów poprzez konfigurowanie ich właściwości ThreeDFormat.
Aby zastosować obrót 3D do kształtu:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu na podstawie jego indeksu.
- Dodaj IAutoShape do slajdu.
- Użyj metod setCameraType i setLightType, aby zdefiniować obrót 3D.
- Zapisz prezentację.
import com.aspose.slides.*;
// Utwórz instancję klasy Presentation.
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);
// Zapisz prezentację jako plik PPTX.
presentation.save("3D_rotation_effect.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Wynik:

Kontrola renderowania czarno-białego dla kształtów
Metoda IShape.setBlackWhiteMode określa, jak pojedynczy kształt jest renderowany, gdy prezentacja jest wyświetlana lub przetwarzana w trybie czarno-białym. Nie włącza ona samodzielnie trybu czarno-białego i nie zmienia wypełnienia, linii ani innych formatowań w normalnym trybie kolorowym.
Użyj wartości z klasy BlackWhiteMode, aby wybrać pożądane zachowanie. Na przykład Automatic pozwala aplikacji renderującej wybrać konwersję, Gray i LightGray używają odcieni szarości, BlackWhite używa wyłącznie czerni i bieli, Black i White wymuszają pojedynczy kolor, Color zachowuje normalne kolory, a Hidden pomija kształt w trybie czarno-białym. NotDefined oznacza, że nie przypisano trybu na poziomie kształtu.
Poniższy kod Java tworzy kolorowy kształt i sprawia, że w trybie wyświetlania czarno-białego pojawia się jako szary:
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);
// Utrzymaj pomarańczowe wypełnienie w trybie kolorowym, ale renderuj kształt w odcieniach szarości w trybie czarno-białym.
shape.setBlackWhiteMode(BlackWhiteMode.Gray);
presentation.save("shape_black_white_mode.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Resetowanie formatowania
Poniższy kod Java pokazuje, jak zresetować formatowanie slajdu i przywrócić pozycję, rozmiar oraz formatowanie wszystkich kształtów z placeholderami na LayoutSlide do ich domyślnych ustawień:
import com.aspose.slides.*;
Presentation presentation = new Presentation("sample.pptx");
try {
for (ISlide slide : presentation.getSlides()) {
// Zresetuj każdy kształt na slajdzie, który ma placeholder w układzie.
slide.reset();
}
presentation.save("reset_formatting.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
FAQ
Czy formatowanie kształtów wpływa na rozmiar końcowego pliku prezentacji?
Tylko w niewielkim stopniu. Osadzone obrazy i multimedia zajmują większość miejsca w pliku, podczas gdy parametry kształtów, takie jak kolory, efekty i gradienty, są przechowywane jako metadane i praktycznie nie zwiększają rozmiaru.
Jak mogę wykryć kształty na slajdzie, które mają identyczne formatowanie, aby móc je grupować?
Porównaj kluczowe właściwości formatowania każdego kształtu — wypełnienie, linię i ustawienia efektów. Jeśli wszystkie odpowiadające sobie wartości są takie same, traktuj ich style jako identyczne i logicznie grupuj te kształty, co upraszcza późniejsze zarządzanie stylami.
Czy mogę zapisać zestaw niestandardowych stylów kształtów w osobnym pliku w celu ponownego użycia w innych prezentacjach?
Tak. Przechowuj przykładowe kształty z pożądanymi stylami w szablonie prezentacji lub pliku .POTX. Przy tworzeniu nowej prezentacji otwórz szablon, sklonuj potrzebne stylizowane kształty i ponownie zastosuj ich formatowanie tam, gdzie jest to wymagane.