Präsentationshintergründe in .NET verwalten
Übersicht
Einfarbige Farben, Verläufe und Bilder werden häufig als Folienhintergründe verwendet. Sie können den Hintergrund für eine normale Folie (eine einzelne Folie) oder eine Master‑Folie (gilt für mehrere Folien gleichzeitig) festlegen.

Einfarbigen Hintergrund für eine normale Folie festlegen
Aspose.Slides ermöglicht es Ihnen, für eine bestimmte Folie in einer Präsentation eine einfarbige Hintergrundfarbe festzulegen – selbst wenn die Präsentation eine Master‑Folie verwendet. Die Änderung wirkt nur auf die ausgewählte Folie.
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Setzen Sie den BackgroundType der Folie auf
OwnBackground. - Setzen Sie den FillType des Folienhintergrunds auf
Solid. - Verwenden Sie die SolidFillColor‑Eigenschaft von FillFormat, um die einfarbige Hintergrundfarbe anzugeben.
- Speichern Sie die geänderte Präsentation.
Das folgende C#‑Beispiel zeigt, wie Sie eine blaue einfarbige Hintergrundfarbe für eine normale Folie festlegen:
// Erstelle eine Instanz der Presentation-Klasse.
using (Presentation presentation = new Presentation())
{
ISlide slide = presentation.Slides[0];
// Setze die Hintergrundfarbe der Folie auf Blau.
slide.Background.Type = BackgroundType.OwnBackground;
slide.Background.FillFormat.FillType = FillType.Solid;
slide.Background.FillFormat.SolidFillColor.Color = Color.Blue;
// Speichere die Präsentation auf die Festplatte.
presentation.Save("SolidColorBackground.pptx", SaveFormat.Pptx);
}
Einfarbigen Hintergrund für eine Master‑Folie festlegen
Aspose.Slides ermöglicht es Ihnen, für die Master‑Folie einer Präsentation eine einfarbige Hintergrundfarbe festzulegen. Die Master‑Folie dient als Vorlage, die die Formatierung aller Folien steuert. Wenn Sie also eine einfarbige Hintergrundfarbe für die Master‑Folie wählen, wird sie auf jede Folie angewendet.
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Setzen Sie den BackgroundType der Master‑Folie (über
masters) aufOwnBackground. - Setzen Sie den FillType des Master‑Folienhintergrunds auf
Solid. - Verwenden Sie die SolidFillColor, um die einfarbige Hintergrundfarbe anzugeben.
- Speichern Sie die geänderte Präsentation.
Das folgende C#‑Beispiel zeigt, wie Sie eine einfarbige Hintergrundfarbe (Waldgrün) für eine Master‑Folie festlegen:
// Erstelle eine Instanz der Presentation-Klasse.
using (Presentation presentation = new Presentation())
{
IMasterSlide masterSlide = presentation.Masters[0];
// Setze die Hintergrundfarbe für die Masterfolie auf Waldgrün.
masterSlide.Background.Type = BackgroundType.OwnBackground;
masterSlide.Background.FillFormat.FillType = FillType.Solid;
masterSlide.Background.FillFormat.SolidFillColor.Color = Color.ForestGreen;
// Speichere die Präsentation auf die Festplatte.
presentation.Save("MasterSlideBackground.pptx", SaveFormat.Pptx);
}
Verlaufshintergrund für eine Folie festlegen
Ein Verlauf ist ein grafischer Effekt, der durch einen allmählichen Farbwechsel entsteht. Als Folienhintergrund eingesetzt, können Verläufe Präsentationen künstlerischer und professioneller wirken lassen. Aspose.Slides ermöglicht es Ihnen, einen Farbverlauf als Hintergrund für Folien festzulegen.
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Setzen Sie den BackgroundType der Folie auf
OwnBackground. - Setzen Sie den FillType des Folienhintergrunds auf
Gradient. - Verwenden Sie die GradientFormat‑Eigenschaft von FillFormat, um Ihre bevorzugten Verlaufeinstellungen zu konfigurieren.
- Speichern Sie die geänderte Präsentation.
Das folgende C#‑Beispiel zeigt, wie Sie einen Farbverlauf als Hintergrund für eine Folie festlegen:
// Erstelle eine Instanz der Presentation-Klasse.
using (Presentation presentation = new Presentation())
{
ISlide slide = presentation.Slides[0];
// Wende einen Farbverlauf-Effekt auf den Hintergrund an.
slide.Background.Type = BackgroundType.OwnBackground;
slide.Background.FillFormat.FillType = FillType.Gradient;
slide.Background.FillFormat.GradientFormat.TileFlip = TileFlip.FlipBoth;
// Speichere die Präsentation auf die Festplatte.
presentation.Save("GradientBackground.pptx", SaveFormat.Pptx);
}
Ein Bild als Folienhintergrund festlegen
Zusätzlich zu einfarbigen und verlaufenden Füllungen ermöglicht Aspose.Slides die Verwendung von Bildern als Folienhintergründe.
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Setzen Sie den BackgroundType der Folie auf
OwnBackground. - Setzen Sie den FillType des Folienhintergrunds auf
Picture. - Laden Sie das Bild, das Sie als Folienhintergrund verwenden möchten.
- Fügen Sie das Bild zur Bildsammlung der Präsentation hinzu.
- Verwenden Sie die PictureFillFormat‑Eigenschaft von FillFormat, um das Bild als Hintergrund zuzuweisen.
- Speichern Sie die geänderte Präsentation.
Das folgende C#‑Beispiel zeigt, wie Sie ein Bild als Hintergrund für eine Folie festlegen:
// Erstelle eine Instanz der Presentation-Klasse.
using (Presentation presentation = new Presentation())
{
ISlide slide = presentation.Slides[0];
// Setze die Eigenschaften des Hintergrundbildes.
slide.Background.Type = BackgroundType.OwnBackground;
slide.Background.FillFormat.FillType = FillType.Picture;
slide.Background.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;
// Lade das Bild.
IImage image = Images.FromFile("Tulips.jpg");
// Füge das Bild zur Bildsammlung der Präsentation hinzu.
IPPImage ppImage = presentation.Images.AddImage(image);
image.Dispose();
slide.Background.FillFormat.PictureFillFormat.Picture.Image = ppImage;
// Speichere die Präsentation auf die Festplatte.
presentation.Save("ImageAsBackground.pptx", SaveFormat.Pptx);
}
Der folgende Code‑Beispiel zeigt, wie Sie den Hintergrund‑Fülltyp auf ein gekacheltes Bild setzen und die Kachel‑Eigenschaften ändern:
using (Presentation presentation = new Presentation())
{
ISlide firstSlide = presentation.Slides[0];
IBackground background = firstSlide.Background;
background.Type = BackgroundType.OwnBackground;
background.FillFormat.FillType = FillType.Picture;
IPPImage ppImage;
using (IImage newImage = Aspose.Slides.Images.FromFile("image.png"))
ppImage = presentation.Images.AddImage(newImage);
// Setze das Bild, das für die Hintergrundfüllung verwendet wird.
IPictureFillFormat backPictureFillFormat = background.FillFormat.PictureFillFormat;
backPictureFillFormat.Picture.Image = ppImage;
// Setze den Bildfüllmodus auf Kachel und passe die Kacheleigenschaften an.
backPictureFillFormat.PictureFillMode = PictureFillMode.Tile;
backPictureFillFormat.TileOffsetX = 15f;
backPictureFillFormat.TileOffsetY = 15f;
backPictureFillFormat.TileScaleX = 46f;
backPictureFillFormat.TileScaleY = 87f;
backPictureFillFormat.TileAlignment = RectangleAlignment.Center;
backPictureFillFormat.TileFlip = TileFlip.FlipY;
presentation.Save("TileBackground.pptx", SaveFormat.Pptx);
}
Transparenz des Hintergrundbildes ändern
Möglicherweise möchten Sie die Transparenz des Hintergrundbildes einer Folie anpassen, damit der Inhalt besser hervorsticht. Der folgende C#‑Code zeigt, wie Sie die Transparenz eines Folienhintergrundbildes ändern:
var transparencyValue = 30; // Zum Beispiel.
// Holen Sie die Sammlung von Bildtransformationsoperationen.
var imageTransform = slide.Background.FillFormat.PictureFillFormat.Picture.ImageTransform;
// Finden Sie einen vorhandenen Transparenzeffekt mit festem Prozentsatz.
var transparencyOperation = null as IAlphaModulateFixed;
foreach (var operation in imageTransform)
{
if (operation is IAlphaModulateFixed alphaModulateFixed)
{
transparencyOperation = alphaModulateFixed;
break;
}
}
// Setzen Sie den neuen Transparenzwert.
if (transparencyOperation == null)
{
imageTransform.AddAlphaModulateFixedEffect(100 - transparencyValue);
}
else
{
transparencyOperation.Amount = (100 - transparencyValue);
}
Wert des Folienhintergrunds abrufen
Aspose.Slides stellt das Interface IBackgroundEffectiveData zur Verfügung, um die effektiven Hintergrundwerte einer Folie abzurufen. Dieses Interface gibt die effektiven FillFormat und EffectFormat zurück.
Über die background‑Eigenschaft der Klasse BaseSlide können Sie den effektiven Hintergrund einer Folie erhalten.
Das folgende C#‑Beispiel zeigt, wie Sie den effektiven Hintergrundwert einer Folie abrufen:
// Erstelle eine Instanz der Presentation-Klasse.
using (Presentation presentation = new Presentation("Sample.pptx"))
{
ISlide slide = presentation.Slides[0];
// Ermittle den effektiven Hintergrund unter Berücksichtigung von Master, Layout und Theme.
IBackgroundEffectiveData effBackground = slide.Background.GetEffective();
if (effBackground.FillFormat.FillType == FillType.Solid)
Console.WriteLine("Fill color: " + effBackground.FillFormat.SolidFillColor);
else
Console.WriteLine("Fill type: " + effBackground.FillFormat.FillType);
}
FAQ
Kann ich einen benutzerdefinierten Hintergrund zurücksetzen und den Theme-/Layout‑Hintergrund wiederherstellen?
Ja. Entfernen Sie die benutzerdefinierte Füllung der Folie, und der Hintergrund wird wieder vom entsprechenden Layout/Master übernommen (also vom Theme‑Hintergrund).
Was passiert mit dem Hintergrund, wenn ich das Theme der Präsentation später ändere?
Hat eine Folie ihre eigene Füllung, bleibt diese unverändert. Wird der Hintergrund vom Layout/Master geerbt, wird er beim Ändern des Themes aktualisiert.