Uzyskaj całe tło slajdu z prezentacji jako obraz

Przegląd

W prezentacjach PowerPoint tło slajdu może składać się z wielu elementów, w tym obrazu tła slajdu, motywu prezentacji, schematu kolorów oraz obiektów umieszczonych na głównym slajdzie lub slajdzie układu.

Ten artykuł pokazuje, jak wyodrębnić całe tło slajdu jako obraz przy użyciu Aspose.Slides. Ponieważ nie istnieje pojedyncza metoda dla tego zadania, podejście polega na sklonowaniu wybranego slajdu do tymczasowej prezentacji, usunięciu kształtów ze slajdu oraz konwersji powstałego tła slajdu na obraz.

Uzyskaj całe tło slajdu

Aspose.Slides dla C++ nie udostępnia prostej metody wyodrębnienia całego tła slajdu prezentacji jako obrazu, ale możesz wykonać poniższe kroki, aby to zrobić:

  1. Załaduj prezentację przy użyciu klasy Presentation.
  2. Pobierz rozmiar slajdu z prezentacji.
  3. Wybierz slajd.
  4. Utwórz tymczasową prezentację.
  5. Ustaw ten sam rozmiar slajdu w tymczasowej prezentacji.
  6. Sklonuj wybrany slajd do tymczasowej prezentacji.
  7. Usuń kształty ze sklonowanego slajdu.
  8. Przekonwertuj sklonowany slajd na obraz.

Poniższy przykład kodu wyodrębnia całe tło slajdu prezentacji jako obraz.

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();

FAQ

Czy złożone gradienty, tekstury lub wypełnienia obrazem z głównego slajdu zostaną zachowane w wygenerowanym obrazie tła?

Tak. Aspose.Slides renderuje wypełnienia gradientowe, obrazkowe i teksturowe zdefiniowane na slajdzie, układzie lub głównym slajdzie. Jeśli potrzebujesz odizolować wygląd od odziedziczonych masterów, ustaw własne tło na bieżącym slajdzie przed eksportem.

Czy mogę dodać znak wodny do wygenerowanego obrazu tła przed jego zapisaniem?

Tak. Możesz dodać znak wodny w postaci kształtu lub obrazu na roboczej kopii slajdu (umieszczonej za inną treścią), a następnie wyeksportować. Dzięki temu uzyskasz obraz tła z wtopionym znakiem wodnym.

Czy mogę uzyskać tło dla konkretnego układu lub mastera bez powiązania go z istniejącym slajdem?

Tak. Uzyskaj dostęp do żądanego mastera lub układu, zastosuj go do tymczasowego slajdu o wymaganym rozmiarze i wyeksportuj ten slajd, aby otrzymać tło pochodzące z tego układu lub mastera.

Czy istnieją ograniczenia licencyjne wpływające na eksport obrazu?

Funkcje renderowania są w pełni dostępne przy użyciu ważnej licencji. W trybie ewaluacyjnym wyjście może zawierać ograniczenia, takie jak znak wodny. Aktywuj licencję raz na proces przed uruchomieniem eksportu wsadowego.