Formatowanie kształtów PowerPoint w Javie
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 do ich konturów. Dodatkowo możesz formatować kształty, określając ustawienia kontrolujące wypełnienie ich wnętrza.

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ć własny styl linii dla kształtu. Poniższe kroki opisują procedurę:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu za pomocą jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw styl linii kształtu.
- Ustaw szerokość linii.
- Ustaw styl kreskowania linii.
- Ustaw kolor linii dla kształtu.
- Zapisz zmodyfikowaną prezentację jako plik PPTX.
import com.aspose.slides.*;
import java.awt.Color;
// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
Presentation presentation = new Presentation();
try {
// Pobierz pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj automatyczny kształt typu Prostokąt.
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 do 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();
}

Zastosowanie efektu szkicu do linii kształtu
Efekt szkicu powoduje, że linia kształtu wygląda na odręczną. Użyj IShape.getLineFormat aby uzyskać dostęp do ustawień linii, ILineFormat.getSketchFormat aby uzyskać dostęp do ustawień szkicu i ISketchFormat.setSketchType aby wybrać wartość z wyliczenia LineSketchType.
Poniższy kod Java pokazuje, jak zastosować efekt LineSketchType.Curved, odczytać jawnie przypisaną wartość i usunąć efekt przy użyciu 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 i 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 głównego 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
- Skośny
Domyślnie, gdy PowerPoint łączy dwie linie pod kątem (na przykład w rogu kształtu), używa ustawienia Zaokrąglony. Jednak przy rysowaniu kształtu o ostrych kątach możesz preferować opcję Kątowy.

Poniższy kod Java demonstruje, jak trzy prostokąty (jak na powyższym obrazie) zostały utworzone przy użyciu ustawień połączeń Kątowy, Skośny i Zaokrąglony:
import com.aspose.slides.*;
import java.awt.Color;
// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
Presentation presentation = new Presentation();
try {
// Pobierz pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj trzy automatyczne 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 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 to opcja formatowania umożliwiająca zastosowanie płynnego przejścia kolorów do kształtu. Na przykład możesz zastosować dwa lub więcej kolorów w sposób, w którym 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 za pomocą jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw FillType kształtu na
Gradient. - Dodaj dwa wybrane kolory z określonymi pozycjami, używając metod
addkolekcji przystanków gradientu udostępnianej przez interfejs IGradientFormat. - Zapisz zmodyfikowaną prezentację jako plik PPTX.
import com.aspose.slides.*;
// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
Presentation presentation = new Presentation();
try {
// Pobierz pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj automatyczny 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();
}

Wypełnienie wzorem
W programie PowerPoint wypełnienie wzorem to opcja formatowania umożliwiająca zastosowanie dwukolorowego wzoru — takiego jak kropki, paski, krzyżykowane linie lub szachownica — do kształtu. Możesz wybrać własne kolory dla pierwszego 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 w celu zwiększenia atrakcyjności wizualnej prezentacji. Nawet po wybraniu gotowego wzoru wciąż możesz określić dokładne kolory, jakich ma używać.
Aby zastosować wypełnienie wzorem do kształtu przy użyciu Aspose.Slides:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu za pomocą jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw FillType kształtu na
Pattern. - Wybierz styl wzoru z dostępnych opcji.
- Ustaw Background Color wzoru.
- Ustaw Foreground Color wzoru.
- Zapisz zmodyfikowaną prezentację jako plik PPTX.
import com.aspose.slides.*;
import java.awt.Color;
// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
Presentation presentation = new Presentation();
try {
// Pobierz pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj automatyczny 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();
}

Wypełnienie obrazem
W programie PowerPoint wypełnienie obrazem to opcja formatowania pozwalająca wstawić obraz wewnątrz kształtu — efektywnie używając obrazu jako tła kształtu.
Jak używać Aspose.Slides do zastosowania wypełnienia obrazem w kształcie:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu za pomocą jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw FillType kształtu na
Picture. - Ustaw tryb wypełnienia obrazu na
Tile(lub inny preferowany tryb). - Utwórz obiekt IPPImage z obrazu, którego chcesz użyć.
- Przekaż obraz do metody
ISlidesPicture.setImage. - Zapisz zmodyfikowaną prezentację jako plik PPTX.

import com.aspose.slides.*;
// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
Presentation presentation = new Presentation();
try {
// Pobierz pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj automatyczny 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);
// Załaduj 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();
}

Użyj obrazu jako tekstury kafelkowej
Jeśli chcesz ustawić obraz kafelkowany jako teksturę i dostosować zachowanie kafelkowania, możesz użyć następujących metod interfejsu IPictureFillFormat i klasy PictureFillFormat:
- setPictureFillMode: Ustawia tryb wypełniania obrazu —
TilelubStretch. - setTileAlignment: Określa wyrównanie kafelków wewnątrz kształtu.
- setTileFlip: Kontroluje, czy kafelek jest odbity poziomo, pionowo lub w obu kierunkach.
- setTileOffsetX: Ustawia poziomy offset kafelka (w punktach) od początku kształtu.
- setTileOffsetY: Ustawia pionowy offset kafelka (w punktach) od początku kształtu.
- setTileScaleX: Definiuje poziomą skalę kafelka jako procent.
- setTileScaleY: Definiuje pionową skalę kafelka jako procent.
import com.aspose.slides.*;
// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
Presentation presentation = new Presentation();
try {
// Pobierz pierwszy slajd.
ISlide firstSlide = presentation.getSlides().get_Item(0);
// Dodaj automatyczny kształt prostokątny.
IAutoShape shape = firstSlide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95);
// Ustaw typ wypełnienia kształtu na Picture.
shape.getFillFormat().setFillType(FillType.Picture);
// Załaduj 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();
}

Wypełnienie kolorem stałym
W programie PowerPoint wypełnienie kolorem stałym to opcja formatowania, która wypełnia kształt jednym, jednolitym kolorem. Ten prosty kolor tła jest stosowany bez gradientów, tekstur ani wzorów.
Aby zastosować wypełnienie kolorem stałym do kształtu przy pomocy Aspose.Slides, wykonaj następujące kroki:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu za pomocą jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw FillType kształtu na
Solid. - Przypisz preferowany 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, która reprezentuje plik prezentacji.
Presentation presentation = new Presentation();
try {
// Pobierz pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj automatyczny 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();
}

Ustawienie przezroczystości
W programie PowerPoint, gdy stosujesz wypełnienie jednolitym kolorem, gradientem, obrazem lub teksturą do kształtów, możesz także ustawić poziom przezroczystości, aby kontrolować krycie wypełnienia. Wyższa wartość przezroczystości sprawia, że kształt jest bardziej przejrzysty, pozwalając widzieć tło lub obiekty pod spodem.
Aspose.Slides umożliwia ustawienie poziomu przezroczystości poprzez dostosowanie wartości alfa w kolorze używanym do wypełnienia. Oto jak to zrobić:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu za pomocą jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw FillType na
Solid. - Użyj klasy
Color, aby określić kolor z przezroczystością (składnikalphakontroluje przezroczystość). - Zapisz prezentację.
import com.aspose.slides.*;
import java.awt.Color;
// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
Presentation presentation = new Presentation();
try {
// Pobierz pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj automatyczny kształt prostokątny wypełniony jednolitym kolorem.
IAutoShape solidShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Dodaj przezroczysty prostokątny kształt automatyczny 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();
}

Obracanie kształtów
Aspose.Slides umożliwia obracanie kształtów w prezentacjach PowerPoint. Może to być przydatne przy pozycjonowaniu elementów wizualnych wymagających określonego ustawienia lub projektu.
Aby obrócić kształt na slajdzie, wykonaj następujące kroki:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu za pomocą jego indeksu.
- Dodaj IAutoShape do slajdu.
- Ustaw właściwość obrotu kształtu na żądany kąt.
- Zapisz prezentację.
import com.aspose.slides.*;
// Utwórz instancję klasy Presentation, która reprezentuje plik prezentacji.
Presentation presentation = new Presentation();
try {
// Pobierz pierwszy slajd.
ISlide slide = presentation.getSlides().get_Item(0);
// Dodaj automatyczny 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();
}

Dodawanie efektów 3D Bevel
Aspose.Slides pozwala zastosować efekty 3D Bevel do kształtów poprzez konfigurację ich właściwości ThreeDFormat.
Aby dodać efekty 3D Bevel do kształtu, wykonaj następujące kroki:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu za pomocą jego indeksu.
- Dodaj IAutoShape do slajdu.
- Skonfiguruj ThreeDFormat kształtu, aby określić ustawienia fazy.
- 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();
}

Dodawanie efektów obrotu 3D
Aspose.Slides pozwala zastosować efekty obrotu 3D do kształtów poprzez konfigurację ich właściwości ThreeDFormat.
Aby zastosować obrót 3D do kształtu:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu za pomocą 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();
}

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 wyświetlania w czerni i bieli 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ą jednolity kolor, Color zachowuje normalne kolorowanie, a Hidden pomija kształt w trybie czarno-białym. NotDefined oznacza, że nie przypisano trybu na poziomie kształtu.
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);
// Zachowaj 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();
}
W normalnym trybie kolorowym prostokąt zachowuje pomarańczowe wypełnienie. W trybie czarno-białym używa szarego kolorowania, ponieważ jego tryb ustawiono na Gray. Dzięki temu możesz zachować slajd w pełnym kolorze, definiując jednocześnie odrębny wygląd dla wydruku, podglądu lub innych procesów respektujących ustawienia wyświetlania czarno-białego w prezentacji.
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 minimalnie. 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 je pogrupować?
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ą zgodne, 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 szablonu .POTX. Przy tworzeniu nowej prezentacji otwórz szablon, sklonuj potrzebne stylizowane kształty i ponownie zastosuj ich formatowanie w wymaganych miejscach.