Gérer les arrière-plans de présentation en C++
Vue d’ensemble
Les couleurs unies, les dégradés et les images sont couramment utilisés pour les arrière-plans de diapositives. Vous pouvez définir l’arrière-plan d’une diapositive normale (une seule diapositive) ou d’une diapositive maître (s’applique à plusieurs diapositives à la fois).

Définir un arrière-plan de 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 ne s’applique qu’à la diapositive sélectionnée.
- Créez une instance de la classe Presentation.
- Définissez le BackgroundType de la diapositive sur
OwnBackground. - Définissez le FillType de l’arrière-plan de la diapositive sur
Solid. - Utilisez la méthode get_SolidFillColor sur FillFormat pour spécifier la couleur d’arrière-plan unie.
- Enregistrez la présentation modifiée.
L’exemple C++ suivant montre comment définir une couleur bleue unie comme arrière-plan d’une diapositive normale :
// Créer une instance de la classe Presentation.
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
// Définir la couleur d'arrière-plan de la diapositive à bleu.
slide->get_Background()->set_Type(BackgroundType::OwnBackground);
slide->get_Background()->get_FillFormat()->set_FillType(FillType::Solid);
slide->get_Background()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Blue());
// Enregistrer la présentation sur le disque.
presentation->Save(u"SolidColorBackground.pptx", SaveFormat::Pptx);
presentation->Dispose();
Définir un arrière-plan de couleur unie pour une diapositive maître
Aspose.Slides vous permet de définir une couleur unie comme arrière-plan de la diapositive maître d’une présentation. La diapositive maître sert de modèle qui contrôle le formatage de toutes les diapositives, de sorte que lorsque vous choisissez une couleur unie pour l’arrière-plan de la diapositive maître, celle-ci s’applique à chaque diapositive.
- Créez une instance de la classe Presentation.
- Définissez le BackgroundType de la diapositive maître (via
get_Masters) surOwnBackground. - Définissez le FillType de l’arrière-plan de la diapositive maître sur
Solid. - Utilisez la méthode get_SolidFillColor pour spécifier la couleur d’arrière-plan unie.
- Enregistrez la présentation modifiée.
L’exemple C++ suivant montre comment définir une couleur verte forêt comme arrière-plan d’une diapositive maître :
// Créer une instance de la classe Presentation.
auto presentation = MakeObject<Presentation>();
auto masterSlide = presentation->get_Master(0);
// Définir la couleur d'arrière-plan pour la diapositive Master à Vert forêt.
masterSlide->get_Background()->set_Type(BackgroundType::OwnBackground);
masterSlide->get_Background()->get_FillFormat()->set_FillType(FillType::Solid);
masterSlide->get_Background()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_ForestGreen());
// Enregistrer la présentation sur le disque.
presentation->Save(u"MasterSlideBackground.pptx", SaveFormat::Pptx);
presentation->Dispose();
Définir un arrière-plan en dégradé pour une diapositive
Un dégradé est un effet graphique créé par une variation progressive 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 en dégradé comme arrière-plan des diapositives.
- Créez une instance de la classe Presentation.
- Définissez le BackgroundType de la diapositive sur
OwnBackground. - Définissez le FillType de l’arrière-plan de la diapositive sur
Gradient. - Utilisez la méthode get_GradientFormat sur FillFormat pour configurer les paramètres de dégradé souhaités.
- Enregistrez la présentation modifiée.
L’exemple C++ suivant montre comment définir une couleur en dégradé comme arrière-plan d’une diapositive :
// Créer une instance de la classe Presentation.
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
// Appliquer un effet de dégradé à l'arrière-plan.
slide->get_Background()->set_Type(BackgroundType::OwnBackground);
slide->get_Background()->get_FillFormat()->set_FillType(FillType::Gradient);
slide->get_Background()->get_FillFormat()->get_GradientFormat()->set_TileFlip(TileFlip::FlipBoth);
// Enregistrer la présentation sur le disque.
presentation->Save(u"GradientBackground.pptx", SaveFormat::Pptx);
presentation->Dispose();
Définir une image comme arrière-plan de diapositive
En plus des remplissages unis et en dégradé, Aspose.Slides vous permet d’utiliser des images comme arrière-plans de diapositives.
- Créez une instance de la classe Presentation.
- Définissez le BackgroundType de la diapositive sur
OwnBackground. - Définissez le FillType de l’arrière-plan de la diapositive sur
Picture. - Chargez l’image que vous souhaitez utiliser comme arrière-plan de la diapositive.
- Ajoutez l’image à la collection d’images de la présentation.
- Utilisez la méthode get_PictureFillFormat sur FillFormat pour affecter l’image comme arrière-plan.
- Enregistrez la présentation modifiée.
L’exemple C++ suivant montre comment définir une image comme arrière-plan d’une diapositive :
// Créer une instance de la classe Presentation.
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
// Définir les propriétés de l'image d'arrière-plan.
slide->get_Background()->set_Type(BackgroundType::OwnBackground);
slide->get_Background()->get_FillFormat()->set_FillType(FillType::Picture);
slide->get_Background()->get_FillFormat()->get_PictureFillFormat()->set_PictureFillMode(PictureFillMode::Stretch);
// Charger l'image.
auto image = Images::FromFile(u"Tulips.jpg");
// Ajouter l'image à la collection d'images de la présentation.
auto ppImage = presentation->get_Images()->AddImage(image);
image->Dispose();
slide->get_Background()->get_FillFormat()->get_PictureFillFormat()->get_Picture()->set_Image(ppImage);
// Enregistrer la présentation sur le disque.
presentation->Save(u"ImageAsBackground.pptx", SaveFormat::Pptx);
presentation->Dispose();
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 mise en mosaïque :
auto presentation = MakeObject<Presentation>();
auto firstSlide = presentation->get_Slide(0);
auto background = firstSlide->get_Background();
background->set_Type(BackgroundType::OwnBackground);
background->get_FillFormat()->set_FillType(FillType::Picture);
auto newImage = Images::FromFile(u"image.png");
auto ppImage = presentation->get_Images()->AddImage(newImage);
newImage->Dispose();
// Set the image used for the background fill.
auto backPictureFillFormat = background->get_FillFormat()->get_PictureFillFormat();
backPictureFillFormat->get_Picture()->set_Image(ppImage);
// Set the picture fill mode to Tile and adjust the tile properties.
backPictureFillFormat->set_PictureFillMode(PictureFillMode::Tile);
backPictureFillFormat->set_TileOffsetX(15.0);
backPictureFillFormat->set_TileOffsetY(15.0);
backPictureFillFormat->set_TileScaleX(46.0);
backPictureFillFormat->set_TileScaleY(87.0);
backPictureFillFormat->set_TileAlignment(RectangleAlignment::Center);
backPictureFillFormat->set_TileFlip(TileFlip::FlipY);
presentation->Save(u"TileBackground.pptx", SaveFormat::Pptx);
presentation->Dispose();
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 :
auto transparencyValue = 30; // Par exemple.
// Obtenir la collection des opérations de transformation d'image.
auto imageTransform = slide->get_Background()->get_FillFormat()->get_PictureFillFormat()->get_Picture()->get_ImageTransform();
// Trouver un effet de transparence à pourcentage fixe existant.
SharedPtr<IAlphaModulateFixed> transparencyOperation;
for (auto&& operation : imageTransform)
{
if (ObjectExt::Is<IAlphaModulateFixed>(operation))
{
transparencyOperation = ExplicitCast<IAlphaModulateFixed>(operation);
break;
}
}
// Définir la nouvelle valeur de transparence.
if (transparencyOperation == nullptr)
{
imageTransform->AddAlphaModulateFixedEffect(100.0f - transparencyValue);
}
else
{
transparencyOperation->set_Amount(100.0f - 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 effectifs.
En utilisant la méthode get_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 effective d’une diapositive :
// Créer une instance de la classe Presentation.
auto presentation = MakeObject<Presentation>(u"Sample.pptx");
auto slide = presentation->get_Slide(0);
// Retrieve the effective background, taking into account master, layout, and theme.
auto effBackground = slide->get_Background()->GetEffective();
if (effBackground->get_FillFormat()->get_FillType() == FillType::Solid)
{
Console::WriteLine(u"Fill color: {0}", effBackground->get_FillFormat()->get_SolidFillColor());
}
else
{
Console::WriteLine(u"Fill type: {0}", ObjectExt::ToString(effBackground->get_FillFormat()->get_FillType()));
}
FAQ
Puis-je réinitialiser un arrière-plan personnalisé et restaurer l’arrière-plan du thème/de la disposition ?
Oui. Supprimez le remplissage personnalisé de la diapositive, et l’arrière-plan sera à nouveau hérité de la diapositive layout/master correspondante (c’est-à-dire le theme background).
Que se passe-t-il pour l’arrière-plan si je change 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 layout/master, il sera mis à jour pour correspondre au new theme.