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

Einfarbigen Hintergrund für eine normale Folie festlegen
Aspose.Slides ermöglicht das Festlegen einer einfarbigen Hintergrundfarbe für eine bestimmte Folie in einer Präsentation – selbst wenn die Präsentation eine Masterfolie verwendet. Die Änderung gilt nur für 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 für eine normale Folie eine blaue einfarbige Hintergrundfarbe 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 dem Datenträger.
presentation.Save("SolidColorBackground.pptx", SaveFormat.Pptx);
}
Einfarbigen Hintergrund für die Masterfolie festlegen
Aspose.Slides ermöglicht das Festlegen einer einfarbigen Hintergrundfarbe für die Masterfolie in einer Präsentation. Die Masterfolie dient als Vorlage, die die Formatierung aller Folien steuert. Wenn Sie also eine einfarbige Hintergrundfarbe für die Masterfolie festlegen, gilt sie für jede Folie.
- Erstellen Sie eine Instanz der Presentation‑Klasse.
- Setzen Sie den BackgroundType der Masterfolie (über
masters) aufOwnBackground. - Setzen Sie den FillType des Masterfolienhintergrunds 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 für die Masterfolie eine einfarbige Hintergrundfarbe (Waldgrün) festlegen:
// Erstelle eine Instanz der Presentation-Klasse.
using (Presentation presentation = new Presentation())
{
IMasterSlide masterSlide = presentation.Masters[0];
// Setze die Hintergrundfarbe der 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 dem Datenträger.
presentation.Save("MasterSlideBackground.pptx", SaveFormat.Pptx);
}
Verlaufs‑Hintergrund für eine Folie festlegen
Ein Verlauf ist ein grafischer Effekt, der durch einen schrittweisen Farbwechsel entsteht. Als Folienhintergrund können Verläufe Präsentationen künstlerischer und professioneller wirken lassen. Aspose.Slides ermöglicht das Festlegen eines Verlaufs als Folienhintergrund.
- 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 gewünschten Verlaufeinstellungen zu konfigurieren.
- Speichern Sie die geänderte Präsentation.
Das folgende C#‑Beispiel zeigt, wie Sie für eine Folie einen Verlauf als Hintergrundfarbe festlegen:
// Erstelle eine Instanz der Presentation-Klasse.
using (Presentation presentation = new Presentation())
{
ISlide slide = presentation.Slides[0];
// Wende einen Verlaufseffekt 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 dem Datenträger.
presentation.Save("GradientBackground.pptx", SaveFormat.Pptx);
}
Bild als Folienhintergrund festlegen
Zusätzlich zu einfarbigen und Verlauf‑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 der 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 dem Datenträger.
presentation.Save("ImageAsBackground.pptx", SaveFormat.Pptx);
}
Das 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üllungsmodus 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 eines Folienhintergrundbildes anpassen, damit der Inhalt der Folie besser hervorsticht. Der folgende C#‑Code zeigt, wie Sie die Transparenz für ein Folienhintergrundbild ändern:
var transparencyValue = 30; // Zum Beispiel.
// Get the collection of picture transform operations.
var imageTransform = slide.Background.FillFormat.PictureFillFormat.Picture.ImageTransform;
// Find an existing fixed-percentage transparency effect.
var transparencyOperation = null as IAlphaModulateFixed;
foreach (var operation in imageTransform)
{
if (operation is IAlphaModulateFixed alphaModulateFixed)
{
transparencyOperation = alphaModulateFixed;
break;
}
}
// Set the new transparency value.
if (transparencyOperation == null)
{
imageTransform.AddAlphaModulateFixedEffect(100 - transparencyValue);
}
else
{
transparencyOperation.Amount = (100 - transparencyValue);
}
Wert des Folienhintergrunds abrufen
Aspose.Slides stellt das Interface IBackgroundEffectiveData zum Abrufen der effektiven Hintergrundwerte einer Folie bereit. Dieses Interface gibt das effektive FillFormat und EffectFormat frei.
Ü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];
// Rufe den effektiven Hintergrund ab, wobei Master, Layout und Theme berücksichtigt werden.
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-Folie (d. h. dem Theme‑Hintergrund) geerbt.
Was passiert mit dem Hintergrund, wenn ich später das Theme der Präsentation ändere?
Hat eine Folie ihre eigene Füllung, bleibt diese unverändert. Wird der Hintergrund vom Layout/Master geerbt, wird er an das neue Theme angepasst.