Gérer les arrière-plans de présentation dans .NET

Aperçu

Les couleurs unies, les dégradés et les images sont couramment utilisés comme arrière-plan de diapositives. Vous pouvez définir l’arrière-plan pour une diapositive normale (une seule diapositive) ou une diapositive maître (s’applique à plusieurs diapositives à la fois).

Arrière-plan PowerPoint

Définir un arrière-plan couleur unie pour une diapositive normale

Aspose.Slides vous permet de définir une couleur unie comme arrière-plan d’une diapositive spécifique dans une présentation - même si la présentation utilise une diapositive maître. La modification s’applique uniquement à la diapositive sélectionnée.

  1. Créez une instance de la classe Presentation.
  2. Définissez le BackgroundType de la diapositive sur OwnBackground.
  3. Définissez le FillType de l’arrière-plan de la diapositive sur Solid.
  4. Utilisez la propriété SolidFillColor sur FillFormat pour spécifier la couleur d’arrière-plan unie.
  5. Enregistrez la présentation modifiée.

L’exemple C# suivant montre comment définir une couleur unie bleue comme arrière-plan pour une diapositive normale :

// Créer une instance de la classe Presentation.
using (Presentation presentation = new Presentation())
{
    ISlide slide = presentation.Slides[0];

    // Définir la couleur d'arrière-plan de la diapositive à bleu.
    slide.Background.Type = BackgroundType.OwnBackground;
    slide.Background.FillFormat.FillType = FillType.Solid;
    slide.Background.FillFormat.SolidFillColor.Color = Color.Blue;

    // Enregistrer la présentation sur le disque.
    presentation.Save("SolidColorBackground.pptx", SaveFormat.Pptx);
}

Définir un arrière-plan couleur unie pour une diapositive maître

Aspose.Slides vous permet de définir une couleur unie comme arrière-plan pour la diapositive maître d’une présentation. La diapositive maître agit comme un modèle qui contrôle le formatage de toutes les diapositives, ainsi lorsque vous choisissez une couleur unie pour l’arrière-plan de la diapositive maître, elle s’applique à chaque diapositive.

  1. Créez une instance de la classe Presentation.
  2. Définissez le BackgroundType de la diapositive maître (via masters) sur OwnBackground.
  3. Définissez le FillType de l’arrière-plan de la diapositive maître sur Solid.
  4. Utilisez le SolidFillColor pour spécifier la couleur d’arrière-plan unie.
  5. Enregistrez la présentation modifiée.

L’exemple C# suivant montre comment définir une couleur unie (vert forêt) comme arrière-plan pour une diapositive maître :

// Créer une instance de la classe Presentation.
using (Presentation presentation = new Presentation())
{
    IMasterSlide masterSlide = presentation.Masters[0];

    // Définir la couleur d'arrière-plan de la diapositive maître à Vert forêt.
    masterSlide.Background.Type = BackgroundType.OwnBackground;
    masterSlide.Background.FillFormat.FillType = FillType.Solid;
    masterSlide.Background.FillFormat.SolidFillColor.Color = Color.ForestGreen;

    // Enregistrer la présentation sur le disque.
    presentation.Save("MasterSlideBackground.pptx", SaveFormat.Pptx);
}

Définir un arrière-plan dégradé pour une diapositive

Un dégradé est un effet graphique créé par un changement progressif de couleur. Lorsqu’il est utilisé comme arrière-plan de diapositive, le dégradé peut rendre les présentations plus artistiques et professionnelles. Aspose.Slides vous permet de définir une couleur de dégradé comme arrière-plan pour les diapositives.

  1. Créez une instance de la classe Presentation.
  2. Définissez le BackgroundType de la diapositive sur OwnBackground.
  3. Définissez le FillType de l’arrière-plan de la diapositive sur Gradient.
  4. Utilisez la propriété GradientFormat sur FillFormat pour configurer vos paramètres de dégradé préférés.
  5. Enregistrez la présentation modifiée.

L’exemple C# suivant montre comment définir une couleur de dégradé comme arrière-plan pour une diapositive :

// Créer une instance de la classe Presentation.
using (Presentation presentation = new Presentation())
{
    ISlide slide = presentation.Slides[0];

    // Appliquer un effet de dégradé à l'arrière-plan.
    slide.Background.Type = BackgroundType.OwnBackground;
    slide.Background.FillFormat.FillType = FillType.Gradient;
    slide.Background.FillFormat.GradientFormat.TileFlip = TileFlip.FlipBoth;

    // Enregistrer la présentation sur le disque.
    presentation.Save("GradientBackground.pptx", SaveFormat.Pptx);
}

Définir une image comme arrière-plan de diapositive

En plus des remplissages unis et dégradés, Aspose.Slides vous permet d’utiliser des images comme arrière-plan de diapositive.

  1. Créez une instance de la classe Presentation.
  2. Définissez le BackgroundType de la diapositive sur OwnBackground.
  3. Définissez le FillType de l’arrière-plan de la diapositive sur Picture.
  4. Chargez l’image que vous souhaitez utiliser comme arrière-plan de la diapositive.
  5. Ajoutez l’image à la collection d’images de la présentation.
  6. Utilisez la propriété PictureFillFormat sur FillFormat pour assigner l’image comme arrière-plan.
  7. Enregistrez la présentation modifiée.

L’exemple C# suivant montre comment définir une image comme arrière-plan pour une diapositive :

// Créer une instance de la classe Presentation.
using (Presentation presentation = new Presentation())
{
    ISlide slide = presentation.Slides[0];

    // Définir les propriétés de l'image d'arrière-plan.
    slide.Background.Type = BackgroundType.OwnBackground;
    slide.Background.FillFormat.FillType = FillType.Picture;
    slide.Background.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;

    // Charger l'image.
    IImage image = Images.FromFile("Tulips.jpg");
    // Ajouter l'image à la collection d'images de la présentation.
    IPPImage ppImage = presentation.Images.AddImage(image);
    image.Dispose();

    slide.Background.FillFormat.PictureFillFormat.Picture.Image = ppImage;

    // Enregistrer la présentation sur le disque.
    presentation.Save("ImageAsBackground.pptx", SaveFormat.Pptx);
}

L’exemple de code suivant montre comment définir le type de remplissage d’arrière-plan sur une image en mosaïque et modifier les propriétés de mosaïquage :

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

    // Définir l'image utilisée pour le remplissage d'arrière-plan.
    IPictureFillFormat backPictureFillFormat = background.FillFormat.PictureFillFormat;
    backPictureFillFormat.Picture.Image = ppImage;

    // Définir le mode de remplissage d'image sur Carreau et ajuster les propriétés du carrelage.
    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);
}

Modifier la transparence de l’image d’arrière-plan

Vous pouvez souhaiter ajuster la transparence de l’image d’arrière-plan d’une diapositive afin que le contenu de la diapositive ressorte davantage. Le code C# suivant vous montre comment modifier la transparence d’une image d’arrière-plan de diapositive :

var transparencyValue = 30; // Par exemple.

// Obtenir la collection des opérations de transformation d'image.
var imageTransform = slide.Background.FillFormat.PictureFillFormat.Picture.ImageTransform;

// Trouver un effet de transparence fixe en pourcentage existant.
var transparencyOperation = null as IAlphaModulateFixed;
foreach (var operation in imageTransform)
{
    if (operation is IAlphaModulateFixed alphaModulateFixed)
    {
        transparencyOperation = alphaModulateFixed;
        break;
    }
}

// Définir la nouvelle valeur de transparence.
if (transparencyOperation == null)
{
    imageTransform.AddAlphaModulateFixedEffect(100 - transparencyValue);
}
else
{
    transparencyOperation.Amount = (100 - transparencyValue);
}

Obtenir la valeur d’arrière-plan de la diapositive

Aspose.Slides fournit l’interface IBackgroundEffectiveData pour récupérer les valeurs d’arrière-plan effectives d’une diapositive. Cette interface expose le FillFormat et le EffectFormat.

En utilisant la propriété background de la classe BaseSlide, vous pouvez obtenir l’arrière-plan effectif d’une diapositive.

L’exemple C# suivant montre comment obtenir la valeur d’arrière-plan effectif d’une diapositive :

// Créer une instance de la classe Presentation.
using (Presentation presentation = new Presentation("Sample.pptx"))
{
    ISlide slide = presentation.Slides[0];  

    // Récupérer l'arrière‑plan effectif, en tenant compte du maître, de la disposition et du thème.
    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

Puis-je réinitialiser un arrière-plan personnalisé et restaurer l’arrière-plan du thème/disposition ?

Oui. Supprimez le remplissage personnalisé de la diapositive, et l’arrière-plan sera de nouveau hérité de la disposition/maître correspondante (c’est-à-dire le arrière-plan du thème).

Que se passe-t-il à l’arrière-plan si je modifie le thème de la présentation plus tard ?

Si une diapositive possède son propre remplissage, il restera inchangé. Si l’arrière-plan est hérité de la disposition/maître, il sera mis à jour pour correspondre au nouveau thème.