Präsentationshintergrund

Einfarbige Farben, Farbverläufe und Bilder werden häufig als Hintergrundbilder für Folien verwendet. Sie können den Hintergrund entweder für eine normale Folie (einzelne Folie) oder Masterfolie (mehrere Folien gleichzeitig) festlegen.

powerpoint-background

Einfarbigen Hintergrund für normale Folie festlegen

Aspose.Slides ermöglicht es Ihnen, eine einfarbige Farbe als Hintergrund für eine bestimmte Folie in einer Präsentation festzulegen (auch wenn diese Präsentation eine Masterfolie enthält). Die Hintergrundänderung betrifft nur die ausgewählte Folie.

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Setzen Sie das BackgroundType Enum für die Folie auf OwnBackground.
  3. Setzen Sie das FillType Enum für den Folienhintergrund auf Solid.
  4. Verwenden Sie die SolidFillColor Eigenschaft, die von FillFormat bereitgestellt wird, um eine einfarbige Farbe für den Hintergrund anzugeben.
  5. Speichern Sie die modifizierte Präsentation.

Dieser C++-Code zeigt Ihnen, wie Sie eine einfarbige Farbe (blau) als Hintergrund für eine normale Folie festlegen:

// Der Pfad zum Dokumentenverzeichnis.

	const String OutPath = L"../out/SetSlideBackgroundNormal_out.pptx";

	// Erstellt eine Instanz der Presentation-Klasse
	SharedPtr<Presentation> pres = MakeObject<Presentation>();

	//  Setzt die Hintergrundfarbe für die erste ISlide auf Blau
	pres->get_Slides()->idx_get(0)->get_Background()->set_Type(BackgroundType::OwnBackground);
	pres->get_Slides()->idx_get(0)->get_Background()->get_FillFormat()->set_FillType(FillType::Solid);
	pres->get_Slides()->idx_get(0)->get_Background()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Blue());

	//Schreibt die Präsentation auf die Festplatte
	pres->Save(OutPath, Aspose::Slides::Export::SaveFormat::Pptx);

Einfarbigen Hintergrund für Masterfolie festlegen

Aspose.Slides ermöglicht es Ihnen, eine einfarbige Farbe als Hintergrund für die Masterfolie in einer Präsentation festzulegen. Die Masterfolie fungiert als Vorlage, die Formatierungseinstellungen für alle Folien enthält und steuert. Daher wird, wenn Sie eine einfarbige Farbe als Hintergrund für die Masterfolie auswählen, dieser neue Hintergrund für alle Folien verwendet.

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Setzen Sie das BackgroundType Enum für die Masterfolie (Masters) auf OwnBackground.
  3. Setzen Sie das FillType Enum für den Hintergrund der Masterfolie auf Solid.
  4. Verwenden Sie die SolidFillColor Eigenschaft, die von FillFormat bereitgestellt wird, um eine einfarbige Farbe für den Hintergrund anzugeben.
  5. Speichern Sie die modifizierte Präsentation.

Dieser C++-Code zeigt Ihnen, wie Sie eine einfarbige Farbe (forstgrün) als Hintergrund für eine Masterfolie in einer Präsentation festlegen:

	// Der Pfad zum Dokumentenverzeichnis.

	const String OutPath = L"../out/SetSlideBackgroundMaster_out.pptx";

	// Erstellt eine Instanz der Presentation-Klasse
	SharedPtr<Presentation> pres = MakeObject<Presentation>();

	// Setzt die Hintergrundfarbe für die Master ISlide auf Forstgrün
	pres->get_Masters()->idx_get(0)->get_Background()->set_Type(BackgroundType::OwnBackground);
	pres->get_Masters()->idx_get(0)->get_Background()->get_FillFormat()->set_FillType(FillType::Solid);
	pres->get_Masters()->idx_get(0)->get_Background()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_ForestGreen());

	//Schreibt die Präsentation auf die Festplatte
	pres->Save(OutPath, Aspose::Slides::Export::SaveFormat::Pptx);

Farbverlauf als Hintergrund für Folie festlegen

Ein Farbverlauf ist ein grafischer Effekt, der auf einer allmählichen Farbänderung basiert. Farbverläufe, die als Hintergründe für Folien verwendet werden, lassen Präsentationen künstlerisch und professionell erscheinen. Aspose.Slides ermöglicht es Ihnen, eine Farbverlauf als Hintergrund für Folien in Präsentationen festzulegen.

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Setzen Sie das BackgroundType Enum für die Folie auf OwnBackground.
  3. Setzen Sie das FillType Enum für den Hintergrund der Masterfolie auf Gradient.
  4. Verwenden Sie die GradientFormat Eigenschaft, die von FillFormat bereitgestellt wird, um Ihre bevorzugte Gradieneinstellung anzugeben.
  5. Speichern Sie die modifizierte Präsentation.

Dieser C++-Code zeigt Ihnen, wie Sie einen Farbverlauf als Hintergrund für eine Folie festlegen:

// Erstellt eine Instanz der Präsentationsklasse
auto pres = System::MakeObject<Presentation>(u"SetBackgroundToGradient.pptx");

// Wendet den Farbverlaufseffekt auf den Hintergrund an
pres->get_Slides()->idx_get(0)->get_Background()->set_Type(BackgroundType::OwnBackground);
pres->get_Slides()->idx_get(0)->get_Background()->get_FillFormat()->set_FillType(FillType::Gradient);
pres->get_Slides()->idx_get(0)->get_Background()->get_FillFormat()->get_GradientFormat()->set_TileFlip(TileFlip::FlipBoth);

// Schreibt die Präsentation auf die Festplatte
pres->Save(u"ContentBG_Grad_out.pptx", SaveFormat::Pptx);

Bild als Hintergrund für Folie festlegen

Neben einfarbigen Farben und Farbverläufen ermöglicht es Aspose.Slides auch, Bilder als Hintergrund für Folien in Präsentationen festzulegen.

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Setzen Sie das BackgroundType Enum für die Folie auf OwnBackground.
  3. Setzen Sie das FillType Enum für den Hintergrund der Masterfolie auf Picture.
  4. Laden Sie das Bild, das Sie als Folienhintergrund verwenden möchten.
  5. Fügen Sie das Bild in die Bildsammlung der Präsentation ein.
  6. Verwenden Sie die PictureFillFormat Eigenschaft, die von FillFormat bereitgestellt wird, um das Bild als Hintergrund festzulegen.
  7. Speichern Sie die modifizierte Präsentation.

Dieser C++-Code zeigt Ihnen, wie Sie ein Bild als Hintergrund für eine Folie festlegen:

// Der Pfad zum Dokumentenverzeichnis.

const String templatePath = L"../templates/SetImageAsBackground.pptx";
const String imagePath = L"../templates/Tulips.jpg";
const String outPath = L"../out/ContentBG_Img_out.pptx";

// Erstellt eine Instanz der Präsentationsklasse
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// Setzt Bedingungen für das Hintergrundbild
pres->get_Slides()->idx_get(0)->get_Background()->set_Type(BackgroundType::OwnBackground);
pres->get_Slides()->idx_get(0)->get_Background()->get_FillFormat()->set_FillType(FillType::Picture);
pres->get_Slides()->idx_get(0)->get_Background()->get_FillFormat()->get_PictureFillFormat()->set_PictureFillMode(PictureFillMode::Stretch);

// Lädt das Bild
auto image = Images::FromFile(imagePath);

// Fügt das Bild zur Bildersammlung der Präsentation hinzu
SharedPtr<IPPImage> imgx = pres->get_Images()->AddImage(image);

pres->get_Slides()->idx_get(0)->get_Background()->get_FillFormat()->get_PictureFillFormat()->get_Picture()->set_Image(imgx);

// Schreibt die Präsentation auf die Festplatte
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

Transparenz des Hintergrundbildes ändern

Sie möchten möglicherweise die Transparenz eines Folienhintergrundbilds anpassen, um die Inhalte der Folie hervorzuheben. Dieser C++-Code zeigt Ihnen, wie Sie die Transparenz für ein Folienhintergrundbild ändern:

int32_t transparencyValue = 30;
// zum Beispiel
// Holt eine Sammlung von Bildtransformationsoperationen
auto imageTransform = slide->get_Background()->get_FillFormat()->get_PictureFillFormat()->get_Picture()->get_ImageTransform();
// Findet einen Transparenzeffekt mit festem Prozentsatz.
System::SharedPtr<AlphaModulateFixed> transparencyOperation;
for (auto&& operation : imageTransform)
{
    if (System::ObjectExt::Is<AlphaModulateFixed>(operation))
    {
        transparencyOperation = System::ExplicitCast<AlphaModulateFixed>(operation);
        break;
    }
}
// Setzt den neuen Transparenzwert.
if (transparencyOperation == nullptr)
{
    imageTransform->AddAlphaModulateFixedEffect(100.0f - transparencyValue);
}
else
{
    transparencyOperation->set_Amount(100.0f - transparencyValue);
}

Wert des Folienhintergrunds abrufen

Aspose.Slides bietet das IBackgroundEffectiveData Interface, um Ihnen zu ermöglichen, die effektiven Werte von Folienhintergründen abzurufen. Dieses Interface enthält Informationen über die effektive FillFormat und die effektive EffectFormat.

Verwenden Sie die Background Eigenschaft der BaseSlide Klasse, um den effektiven Wert für einen Folienhintergrund abzurufen.

Dieser C++-Code zeigt Ihnen, wie Sie den effektiven Hintergrundwert einer Folie abrufen:

// Erstellt eine Instanz der Präsentationsklasse
const String templatePath = u"../templates/SamplePresentation.pptx";
	

	auto pres = System::MakeObject<Presentation>(templatePath);
	System::SharedPtr<IBackgroundEffectiveData> effBackground = pres->get_Slides()->idx_get(0)->CreateBackgroundEffective();
	if (effBackground->get_FillFormat()->get_FillType() == Aspose::Slides::FillType::Solid)
	{
		System::Console::WriteLine(System::String(u"Füllfarbe: ") + effBackground->get_FillFormat()->get_SolidFillColor());
	}
	else
	{
		System::Console::WriteLine(System::String(u"Fülltyp: ") + System::ObjectExt::ToString(effBackground->get_FillFormat()->get_FillType()));
	}