Zarządzanie tłlem prezentacji w Javie
Wprowadzenie
Jednolite kolory, gradienty i obrazy są często używane jako tło slajdów. Możesz ustawić tło dla normalnego slajdu (pojedynczego slajdu) lub slajdu mistrza (obowiązuje dla wielu slajdów jednocześnie).

Ustaw jednolite tło koloru dla normalnego slajdu
Aspose.Slides pozwala ustawić jednolity kolor jako tło dla konkretnego slajdu w prezentacji — nawet jeśli prezentacja używa slajdu mistrza. Zmiana dotyczy wyłącznie wybranego slajdu.
- Utwórz instancję klasy Presentation.
- Ustaw właściwość BackgroundType slajdu na
OwnBackground. - Ustaw tło slajdu FillType na
Solid. - Użyj metody getSolidFillColor na FillFormat, aby określić jednolity kolor tła.
- Zapisz zmodyfikowaną prezentację.
Poniższy przykład w języku Java pokazuje, jak ustawić niebieski jednolity kolor jako tło normalnego slajdu:
// Utwórz instancję klasy Presentation.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Ustaw kolor tła slajdu na niebieski.
slide.getBackground().setType(BackgroundType.OwnBackground);
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
// Zapisz prezentację na dysku.
presentation.save("SolidColorBackground.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Ustaw jednolite tło koloru dla slajdu mistrza
Aspose.Slides pozwala ustawić jednolity kolor jako tło dla slajdu mistrza w prezentacji. Slajd mistrza działa jako szablon kontrolujący formatowanie wszystkich slajdów, więc gdy wybierzesz jednolity kolor tła slajdu mistrza, zostanie on zastosowany do każdego slajdu.
- Utwórz instancję klasy Presentation.
- Ustaw właściwość BackgroundType slajdu mistrza (poprzez
getMasters) naOwnBackground. - Ustaw tło slajdu mistrza FillType na
Solid. - Użyj metody getSolidFillColor aby określić jednolity kolor tła.
- Zapisz zmodyfikowaną prezentację.
Poniższy przykład w języku Java pokazuje, jak ustawić zielony jednolity kolor jako tło slajdu mistrza:
// Utwórz instancję klasy Presentation.
Presentation presentation = new Presentation();
try {
IMasterSlide masterSlide = presentation.getMasters().get_Item(0);
// Ustaw kolor tła slajdu Master na zielony leśny.
masterSlide.getBackground().setType(BackgroundType.OwnBackground);
masterSlide.getBackground().getFillFormat().setFillType(FillType.Solid);
masterSlide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.GREEN);
// Zapisz prezentację na dysku.
presentation.save("MasterSlideBackground.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Ustaw gradientowe tło dla slajdu
Gradient to efekt graficzny powstający w wyniku stopniowej zmiany koloru. Używany jako tło slajdu, gradient może sprawić, że prezentacje będą wyglądać bardziej artystycznie i profesjonalnie. Aspose.Slides pozwala ustawić gradientowy kolor jako tło slajdów.
- Utwórz instancję klasy Presentation.
- Ustaw właściwość BackgroundType slajdu na
OwnBackground. - Ustaw tło slajdu FillType na
Gradient. - Użyj metody getGradientFormat na FillFormat, aby skonfigurować preferowane ustawienia gradientu.
- Zapisz zmodyfikowaną prezentację.
Poniższy przykład w języku Java pokazuje, jak ustawić gradientowy kolor jako tło slajdu:
// Utwórz instancję klasy Presentation.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Zastosuj efekt gradientu do tła.
slide.getBackground().setType(BackgroundType.OwnBackground);
slide.getBackground().getFillFormat().setFillType(FillType.Gradient);
slide.getBackground().getFillFormat().getGradientFormat().setTileFlip(TileFlip.FlipBoth);
// Zapisz prezentację na dysku.
presentation.save("GradientBackground.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Ustaw obraz jako tło slajdu
Oprócz jednolitych i gradientowych wypełnień, Aspose.Slides pozwala używać obrazów jako tła slajdów.
- Utwórz instancję klasy Presentation.
- Ustaw właściwość BackgroundType slajdu na
OwnBackground. - Ustaw tło slajdu FillType na
Picture. - Załaduj obraz, który chcesz użyć jako tło slajdu.
- Dodaj obraz do kolekcji obrazów prezentacji.
- Użyj metody getPictureFillFormat na FillFormat, aby przypisać obraz jako tło.
- Zapisz zmodyfikowaną prezentację.
Poniższy przykład w języku Java pokazuje, jak ustawić obraz jako tło slajdu:
// Utwórz instancję klasy Presentation.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Ustaw właściwości obrazu tła.
slide.getBackground().setType(BackgroundType.OwnBackground);
slide.getBackground().getFillFormat().setFillType(FillType.Picture);
slide.getBackground().getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch);
// Załaduj obraz.
IImage image = Images.fromFile("Tulips.jpg");
// Dodaj obraz do kolekcji obrazów prezentacji.
IPPImage ppImage = presentation.getImages().addImage(image);
image.dispose();
slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().setImage(ppImage);
// Zapisz prezentację na dysku.
presentation.save("ImageAsBackground.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Poniższy fragment kodu pokazuje, jak ustawić typ wypełnienia tła na obraz kaflowany i zmodyfikować właściwości kafelkowania:
Presentation presentation = new Presentation();
try {
ISlide firstSlide = presentation.getSlides().get_Item(0);
IBackground background = firstSlide.getBackground();
background.setType(BackgroundType.OwnBackground);
background.getFillFormat().setFillType(FillType.Picture);
IImage newImage = Images.fromFile("image.png");
IPPImage ppImage = presentation.getImages().addImage(newImage);
newImage.dispose();
// Ustaw obraz używany do wypełnienia tła.
IPictureFillFormat backPictureFillFormat = background.getFillFormat().getPictureFillFormat();
backPictureFillFormat.getPicture().setImage(ppImage);
// Ustaw tryb wypełnienia obrazu na Kafelkowanie i dostosuj właściwości kafelków.
backPictureFillFormat.setPictureFillMode(PictureFillMode.Tile);
backPictureFillFormat.setTileOffsetX(15f);
backPictureFillFormat.setTileOffsetY(15f);
backPictureFillFormat.setTileScaleX(46f);
backPictureFillFormat.setTileScaleY(87f);
backPictureFillFormat.setTileAlignment(RectangleAlignment.Center);
backPictureFillFormat.setTileFlip(TileFlip.FlipY);
presentation.save("TileBackground.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Zmień przezroczystość obrazu tła
Możesz chcieć dostosować przezroczystość obrazu tła slajdu, aby treść slajdu lepiej się wyróżniała. Poniższy kod w języku Java pokazuje, jak zmienić przezroczystość obrazu tła slajdu:
int transparencyValue = 30; // Na przykład.
// Get the collection of picture transform operations.
IImageTransformOperationCollection imageTransform = slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().getImageTransform();
// Find an existing fixed-percentage transparency effect.
IAlphaModulateFixed transparencyOperation = null;
for (IImageTransformOperation operation : imageTransform) {
if (operation instanceof IAlphaModulateFixed) {
transparencyOperation = (IAlphaModulateFixed)operation;
break;
}
}
// Set the new transparency value.
if (transparencyOperation == null) {
imageTransform.addAlphaModulateFixedEffect(100 - transparencyValue);
}
else {
transparencyOperation.setAmount(100 - transparencyValue);
}
Pobierz wartość tła slajdu
Aspose.Slides udostępnia interfejs IBackgroundEffectiveData do pobierania efektywnych wartości tła slajdu. Interfejs ten eksponuje efektywne FillFormat oraz EffectFormat.
Korzystając z metody getBackground klasy BaseSlide, możesz uzyskać efektywne tło slajdu.
Poniższy przykład w języku Java pokazuje, jak pobrać efektywną wartość tła slajdu:
// Utwórz instancję klasy Presentation.
Presentation presentation = new Presentation("Sample.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Pobierz efektywne tło, uwzględniając slajd mistrza, układ i motyw.
IBackgroundEffectiveData effBackground = slide.getBackground().getEffective();
if (effBackground.getFillFormat().getFillType() == FillType.Solid)
System.out.println("Fill color: " + effBackground.getFillFormat().getSolidFillColor());
else
System.out.println("Fill type: " + effBackground.getFillFormat().getFillType());
} finally {
presentation.dispose();
}
FAQ
Czy mogę zresetować niestandardowe tło i przywrócić tło motywu/układu?
Tak. Usuń niestandardowe wypełnienie slajdu, a tło zostanie ponownie odziedziczone z odpowiedniego slajdu układu/mistrza (czyli z tła motywu).
Co się stanie z tłem, jeśli później zmienię motyw prezentacji?
Jeśli slajd ma własne wypełnienie, pozostanie ono niezmienione. Jeśli tło jest dziedziczone z układu/mistrza, zostanie zaktualizowane, aby odpowiadało nowemu motywowi.