Управление фонами презентаций на JavaScript
Обзор
Сплошные цвета, градиенты и изображения часто используются в качестве фона слайдов. Вы можете задать фон для обычного слайда (одного слайда) или мастер‑слайда (применяется к нескольким слайдам сразу).

Установка сплошного цветного фона для обычного слайда
Aspose.Slides позволяет установить сплошной цвет в качестве фона для конкретного слайда в презентации — даже если презентация использует мастер‑слайд. Изменение применяется только к выбранному слайду.
- Создайте экземпляр класса Presentation.
- Установите свойство BackgroundType слайда в значение
OwnBackground. - Установите FillType фона слайда в значение
Solid. - Воспользуйтесь методом getSolidFillColor класса FillFormat для указания сплошного цвета фона.
- Сохраните изменённую презентацию.
Следующий пример на JavaScript показывает, как установить синий сплошной цвет в качестве фона обычного слайда:
// Создайте экземпляр класса Presentation.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Установите цвет фона слайда в синий.
slide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
slide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
slide.getBackground().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLUE"));
// Сохраните презентацию на диск.
presentation.save("SolidColorBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Установка сплошного цветного фона для мастер‑слайда
Aspose.Slides позволяет установить сплошной цвет в качестве фона для мастер‑слайда в презентации. Мастер‑слайд выступает в роли шаблона, контролирующего форматирование всех слайдов, поэтому при выборе сплошного цвета для его фона он применяется ко всем слайдам.
- Создайте экземпляр класса Presentation.
- Установите свойство BackgroundType мастер‑слайда (через
getMasters) в значениеOwnBackground. - Установите FillType фона мастер‑слайда в значение
Solid. - Воспользуйтесь методом getSolidFillColor для указания сплошного цвета фона.
- Сохраните изменённую презентацию.
Следующий пример на JavaScript показывает, как установить сплошной цвет (зелёный) в качестве фона мастер‑слайда:
// Создайте экземпляр класса Presentation.
let presentation = new aspose.slides.Presentation();
try {
let masterSlide = presentation.getMasters().get_Item(0);
// Установите цвет фона для мастер‑слайда в лесной зеленый.
masterSlide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
masterSlide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
masterSlide.getBackground().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "GREEN"));
// Сохраните презентацию на диск.
presentation.save("MasterSlideBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Установка градиентного фона для слайда
Градиент — это графический эффект, создаваемый постепённым изменением цвета. При использовании в качестве фона слайда градиенты делают презентацию более художественной и профессиональной. Aspose.Slides позволяет установить градиентный цвет в качестве фона слайдов.
- Создайте экземпляр класса Presentation.
- Установите свойство BackgroundType слайда в значение
OwnBackground. - Установите FillType фона слайда в значение
Gradient. - Воспользуйтесь методом getGradientFormat класса FillFormat для настройки требуемых параметров градиента.
- Сохраните изменённую презентацию.
Следующий пример на JavaScript показывает, как установить градиентный цвет в качестве фона слайда:
// Создайте экземпляр класса Presentation.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Примените градиентный эффект к фону.
slide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
slide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Gradient));
slide.getBackground().getFillFormat().getGradientFormat().setTileFlip(aspose.slides.TileFlip.FlipBoth);
// Сохраните презентацию на диск.
presentation.save("GradientBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Установка изображения в качестве фона слайда
Помимо сплошных и градиентных заполнений, Aspose.Slides позволяет использовать изображения в качестве фоновых.
- Создайте экземпляр класса Presentation.
- Установите свойство BackgroundType слайда в значение
OwnBackground. - Установите FillType фона слайда в значение
Picture. - Загрузите изображение, которое хотите использовать в качестве фонового.
- Добавьте изображение в коллекцию изображений презентации.
- Воспользуйтесь методом getPictureFillFormat класса FillFormat для назначения изображения в качестве фона.
- Сохраните изменённую презентацию.
Следующий пример на JavaScript показывает, как установить изображение в качестве фона слайда:
// Создайте экземпляр класса Presentation.
let presentation = new aspose.slides.Presentation();
try {
let slide = presentation.getSlides().get_Item(0);
// Установите свойства фонового изображения.
slide.getBackground().setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
slide.getBackground().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Picture));
slide.getBackground().getFillFormat().getPictureFillFormat().setPictureFillMode(aspose.slides.PictureFillMode.Stretch);
// Загрузите изображение.
let image = aspose.slides.Images.fromFile("Tulips.jpg");
// Добавьте изображение в коллекцию изображений презентации.
let ppImage = presentation.getImages().addImage(image);
image.dispose();
slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().setImage(ppImage);
// Сохраните презентацию на диск.
presentation.save("ImageAsBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Следующий образец кода показывает, как установить тип заполнения фона в виде мозаичного изображения и изменить свойства плитки:
let presentation = new aspose.slides.Presentation();
try {
let firstSlide = presentation.getSlides().get_Item(0);
let background = firstSlide.getBackground();
background.setType(java.newByte(aspose.slides.BackgroundType.OwnBackground));
background.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Picture));
let newImage = aspose.slides.Images.fromFile("image.png");
let ppImage = presentation.getImages().addImage(newImage);
newImage.dispose();
// Установите изображение, используемое для фонового заполнения.
let backPictureFillFormat = background.getFillFormat().getPictureFillFormat();
backPictureFillFormat.getPicture().setImage(ppImage);
// Установите режим заливки изображения в режим Tile и настройте свойства плитки.
backPictureFillFormat.setPictureFillMode(aspose.slides.PictureFillMode.Tile);
backPictureFillFormat.setTileOffsetX(15.0);
backPictureFillFormat.setTileOffsetY(15.0);
backPictureFillFormat.setTileScaleX(46.0);
backPictureFillFormat.setTileScaleY(87.0);
backPictureFillFormat.setTileAlignment(java.newByte(aspose.slides.RectangleAlignment.Center));
backPictureFillFormat.setTileFlip(aspose.slides.TileFlip.FlipY);
presentation.save("TileBackground.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Изменение прозрачности фонового изображения
Возможно, вам потребуется отрегулировать прозрачность фонового изображения слайда, чтобы выделить содержимое слайда. Следующий код на JavaScript показывает, как изменить прозрачность фонового изображения слайда:
var transparencyValue = 30; // Например.
// Получить коллекцию операций трансформации изображения.
var imageTransform = slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().getImageTransform();
// Найти существующий эффект прозрачности фиксированного процента.
var transparencyOperation = null;
for (let i = 0; i < imageTransform.size(); i++) {
let operation = imageTransform.get_Item(i);
if (java.instanceOf(operation, "com.aspose.slides.AlphaModulateFixed")) {
transparencyOperation = operation;
break;
}
}
// Установить новое значение прозрачности.
if (transparencyOperation == null) {
imageTransform.addAlphaModulateFixedEffect(100 - transparencyValue);
} else {
transparencyOperation.setAmount(100 - transparencyValue);
}
Получение значения фона слайда
Aspose.Slides предоставляет класс BackgroundEffectiveData для получения эффективных значений фона слайда. Этот класс раскрывает эффективные FillFormat и EffectFormat.
Используя метод getBackground класса BaseSlide, вы можете получить эффективный фон слайда.
Следующий пример на JavaScript показывает, как получить эффективное значение фона слайда:
// Создайте экземпляр класса Presentation.
let presentation = new aspose.slides.Presentation("Sample.pptx");
try {
let slide = presentation.getSlides().get_Item(0);
// Получите эффективный фон, учитывая мастер‑слайд, макет и тему.
let effBackground = slide.getBackground().getEffective();
if (effBackground.getFillFormat().getFillType() == aspose.slides.FillType.Solid)
console.log("Fill color:", effBackground.getFillFormat().getSolidFillColor().toString());
else
console.log("Fill type:", effBackground.getFillFormat().getFillType());
} finally {
presentation.dispose();
}
FAQ
Могу ли я сбросить пользовательский фон и восстановить фон темы/уровня?
Да. Удалите пользовательское заполнение слайда, и фон будет снова наследоваться от соответствующего layout/master слайда (т.е. от theme background).
Что происходит с фоном, если позже изменить тему презентации?
Если у слайда собственное заполнение, оно останется без изменений. Если фон наследуется от layout/master, он обновится в соответствии с new theme.