Vytvoření miniatur tvarů prezentace v C++

Úvod

Aspose.Slides se používá k vytváření prezentačních souborů, kde je každá stránka snímek. Tyto snímky lze zobrazit otevřením prezentačních souborů v Microsoft PowerPoint. Někdy však vývojáři potřebují zobrazit obrázky tvarů samostatně v prohlížeči obrázků. V takových případech vám Aspose.Slides pomůže vygenerovat miniatury obrázků tvarů snímků. Jak tuto funkci použít, je popsáno v tomto článku.

Tento článek vysvětluje, jak vygenerovat miniatury snímků různými způsoby:

  • Vytvoření miniatury tvaru uvnitř snímku.
  • Vytvoření miniatury tvaru pro tvar snímku s uživatelem definovanými rozměry.
  • Vytvoření miniatury tvaru v rámci ohraničení vzhledu tvaru.

Vytvořit miniaturu tvaru ze snímku

Pro vytvoření miniatury tvaru z libovolného snímku pomocí Aspose.Slides for C++:

  1. Vytvořte instanci třídy Presentation .
  2. Získejte odkaz na libovolný snímek pomocí jeho ID nebo indexu.
  3. Získejte obrázek miniatury tvaru referencovaného snímku v výchozím měřítku.
  4. Uložte obrázek miniatury do libovolného požadovaného formátu obrázku.

Níže uvedený příklad generuje miniaturu tvaru.

auto presentation = MakeObject<Presentation>(u"HelloWorld.pptx");
auto shape = presentation->get_Slide(0)->get_Shape(0);

auto image = shape->GetImage();
image->Save(u"Shape_thumbnail_out.png", ImageFormat::Png);
image->Dispose();

presentation->Dispose();

Vytvořit miniaturu s uživatelem definovaným škálovacím faktorem

Pro vytvoření miniatury tvaru libovolného tvaru snímku pomocí Aspose.Slides for C++:

  1. Vytvořte instanci třídy Presentation .
  2. Získejte odkaz na libovolný snímek pomocí jeho ID nebo indexu.
  3. Získejte obrázek miniatury referencovaného snímku s ohraničením tvaru.
  4. Uložte obrázek miniatury do libovolného požadovaného formátu obrázku.

Níže uvedený příklad generuje miniaturu s uživatelem definovaným škálovacím faktorem.

auto bounds = ShapeThumbnailBounds::Shape;
auto scale = 1; // Škálování podél os X a Y.

auto presentation = MakeObject<Presentation>(u"HelloWorld.pptx");
auto shape = presentation->get_Slide(0)->get_Shape(0);

auto image = shape->GetImage(bounds, scale, scale);
image->Save(u"Scaling Factor Thumbnail_out.png", ImageFormat::Png);
image->Dispose();

presentation->Dispose();

Vytvořit miniaturu vzhledu tvaru na základě ohraničení

Tato metoda pro vytváření miniatur tvarů umožňuje vývojářům generovat miniaturu v rámci ohraničení vzhledu tvaru. Zohledňuje všechny efekty tvaru. Vygenerovaná miniatura tvaru je omezena ohraničením snímku. Pro vygenerování miniatury libovolného tvaru snímku v ohraničení jeho vzhledu použijte následující ukázkový kód:

  1. Vytvořte instanci třídy Presentation .
  2. Získejte odkaz na libovolný snímek pomocí jeho ID nebo indexu.
  3. Získejte obrázek miniatury referencovaného snímku s ohraničením tvaru jako vzhledem.
  4. Uložte obrázek miniatury do libovolného požadovaného formátu obrázku.

Níže uvedený příklad vytváří miniaturu pomocí uživatelem definovaného škálovacího faktoru.

auto bounds = ShapeThumbnailBounds::Appearance;
auto scale = 1; // Škálování podél os X a Y.

auto presentation = MakeObject<Presentation>(u"HelloWorld.pptx");
auto shape = presentation->get_Slide(0)->get_Shape(0);

auto image = shape->GetImage(bounds, scale, scale);
image->Save(u"Shape_thumbnail_Bound_Shape_out.png", ImageFormat::Png);
image->Dispose();

presentation->Dispose();

FAQ

Jaké formáty obrázků lze použít při ukládání miniatur tvarů?

PNG, JPEG, BMP, GIF, TIFF, a další. Tvary lze také exportovat jako vektorové SVG tím, že obsah tvaru uložíte jako SVG.

Jaký je rozdíl mezi ohraničením Shape a Appearance při vykreslování miniatury?

Shape používá geometrii tvaru; Appearance zohledňuje vizuální efekty (stíny, záře, atd.).

Co se stane, pokud je tvar označen jako skrytý? Bude se stále vykreslovat jako miniatura?

Skrytý tvar zůstává součástí modelu a může být vykreslen; příznak skrytí ovlivňuje zobrazení v prezentaci, ale nebrání generování obrázku tvaru.

Jsou podporovány skupinové tvary, grafy, SmartArt a další složité objekty?

Ano. Jakýkoli objekt reprezentovaný jako Shape (včetně GroupShape, Chart a SmartArt) lze uložit jako miniaturu nebo jako SVG.

Ovlivňují systémově nainstalované fonty kvalitu miniatur pro textové tvary?

Ano. Měli byste poskytnout požadované fonty (nebo nastavit náhrady fontů), aby se zabránilo nechtěným náhradám a přelomu textu.