Получите весь фон слайдов презентации в виде изображения
Contents
[
Hide
]
В презентациях PowerPoint фон слайда может состоять из многих элементов. В дополнение к изображению, установленному в качестве фона слайда, финальный фон может зависеть от темы презентации, цветовой схемы и фигур, размещенных на главном слайде и слайде макета.
Aspose.Slides для C++ не предоставляет простого метода для извлечения всего фона слайда презентации в виде изображения, но вы можете следовать приведенным ниже шагам, чтобы сделать это:
- Загрузите презентацию с помощью класса Presentation.
- Получите размер слайда из презентации.
- Выберите слайд.
- Создайте временную презентацию.
- Установите такой же размер слайда в временной презентации.
- Клонируйте выбранный слайд во временную презентацию.
- Удалите фигуры с клонированного слайда.
- Преобразуйте клонированный слайд в изображение.
Следующий пример кода извлекает весь фон слайда презентации в виде изображения.
auto slideIndex = 0;
auto imageScale = 1;
auto presentation = System::MakeObject<Presentation>(u"sample.pptx");
auto slideSize = presentation->get_SlideSize()->get_Size();
auto slide = presentation->get_Slides()->idx_get(slideIndex);
auto tempPresentation = System::MakeObject<Presentation>();
auto slideWidth = slideSize.get_Width();
auto slideHeight = slideSize.get_Height();
tempPresentation->get_SlideSize()->SetSize(slideWidth, slideHeight, SlideSizeScaleType::DoNotScale);
auto clonedSlide = tempPresentation->get_Slides()->AddClone(slide);
clonedSlide->get_Shapes()->Clear();
auto background = clonedSlide->GetImage(imageScale, imageScale);
background->Save(u"output.png", ImageFormat::Png);
tempPresentation->Dispose();
presentation->Dispose();