プレゼンテーションの背景
スライドの背景画像には、単色、グラデーションカラー、画像がよく使用されます。背景は通常のスライド(単一スライド)またはマスタースライド(複数スライドを同時に)に設定できます。
通常スライドの背景に単色を設定する
Aspose.Slides を使用すると、プレゼンテーションの特定のスライドの背景として単色を設定できます(たとえそのプレゼンテーションにマスタースライドが含まれていても)。背景変更は選択したスライドのみに影響します。
- Presentation クラスのインスタンスを作成します。
- スライドの BackgroundType 列挙型を
OwnBackground
に設定します。 - スライド背景の FillType 列挙型を
Solid
に設定します。 - FillFormat によって公開されている SolidFillColor プロパティを使用して、背景としての単色を指定します。
- 変更したプレゼンテーションを保存します。
この C++ コードは、通常スライドの背景に単色(青)を設定する方法を示しています:
// ドキュメント ディレクトリへのパス。
const String OutPath = L"../out/SetSlideBackgroundNormal_out.pptx";
// Presentation クラスのインスタンスを作成
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// 最初の ISlide の背景色を青に設定
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());
// プレゼンテーションをディスクに書き込む
pres->Save(OutPath, Aspose::Slides::Export::SaveFormat::Pptx);
マスタースライドの背景に単色を設定する
Aspose.Slides を使用すると、プレゼンテーションのマスタースライドの背景として単色を設定できます。マスタースライドは、すべてのスライドのフォーマット設定を含み、制御するテンプレートとして機能します。したがって、マスタースライドの背景として単色を選択すると、その新しい背景がすべてのスライドに使用されます。
- Presentation クラスのインスタンスを作成します。
- マスタースライド(
Masters
)の BackgroundType 列挙型をOwnBackground
に設定します。 - マスタースライド背景の FillType 列挙型を
Solid
に設定します。 - FillFormat によって公開されている SolidFillColor プロパティを使用して、背景としての単色を指定します。
- 変更したプレゼンテーションを保存します。
この C++ コードは、プレゼンテーションのマスタースライドの背景に単色(フォレストグリーン)を設定する方法を示しています:
// ドキュメント ディレクトリへのパス。
const String OutPath = L"../out/SetSlideBackgroundMaster_out.pptx";
// Presentation クラスのインスタンスを作成
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// マスタ ISlide の背景色をフォレストグリーンに設定
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());
// プレゼンテーションをディスクに書き込む
pres->Save(OutPath, Aspose::Slides::Export::SaveFormat::Pptx);
スライドの背景にグラデーションカラーを設定する
グラデーションは、色の段階的な変化に基づくグラフィカルエフェクトです。スライドの背景としてグラデーションカラーを使用すると、プレゼンテーションが芸術的でプロフェッショナルに見えます。Aspose.Slidesを使用すると、プレゼンテーションのスライドの背景としてグラデーションカラーを設定できます。
- Presentation クラスのインスタンスを作成します。
- スライドの BackgroundType 列挙型を
OwnBackground
に設定します。 - マスタースライド背景の FillType 列挙型を
Gradient
に設定します。 - FillFormat によって公開されている GradientFormat プロパティを使用して、お好みのグラデーション設定を指定します。
- 変更したプレゼンテーションを保存します。
この C++ コードは、スライドの背景にグラデーションカラーを設定する方法を示しています:
// Presentation クラスのインスタンスを作成
auto pres = System::MakeObject<Presentation>(u"SetBackgroundToGradient.pptx");
// 背景にグラデーション効果を適用
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);
// プレゼンテーションをディスクに書き込む
pres->Save(u"ContentBG_Grad_out.pptx", SaveFormat::Pptx);
スライドの背景に画像を設定する
単色やグラデーションカラーの他に、Aspose.Slidesは、プレゼンテーションのスライドの背景として画像を設定することもできます。
- Presentation クラスのインスタンスを作成します。
- スライドの BackgroundType 列挙型を
OwnBackground
に設定します。 - マスタースライド背景の FillType 列挙型を
Picture
に設定します。 - スライドの背景として使用したい画像を読み込みます。
- 画像をプレゼンテーションの画像コレクションに追加します。
- FillFormat によって公開されている PictureFillFormat プロパティを使用して、画像を背景として設定します。
- 変更したプレゼンテーションを保存します。
この C++ コードは、スライドの背景に画像を設定する方法を示しています:
// ドキュメント ディレクトリへのパス。
const String templatePath = L"../templates/SetImageAsBackground.pptx";
const String imagePath = L"../templates/Tulips.jpg";
const String outPath = L"../out/ContentBG_Img_out.pptx";
// Presentation クラスのインスタンスを作成
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// 背景画像の条件を設定
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);
// 画像を読み込む
auto image = Images::FromFile(imagePath);
// 画像をプレゼンテーションの画像コレクションに追加
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);
// プレゼンテーションをディスクに書き込む
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
背景画像の透明度を変更する
スライドの背景画像の透明度を調整して、スライドの内容を目立たせたい場合があります。この C++ コードは、スライド背景画像の透明度を変更する方法を示しています:
int32_t transparencyValue = 30;
// たとえば
// 画像変換操作のコレクションを取得
auto imageTransform = slide->get_Background()->get_FillFormat()->get_PictureFillFormat()->get_Picture()->get_ImageTransform();
// 固定パーセンテージの透明度効果を見つける。
System::SharedPtr<AlphaModulateFixed> transparencyOperation;
for (auto&& operation : imageTransform)
{
if (System::ObjectExt::Is<AlphaModulateFixed>(operation))
{
transparencyOperation = System::ExplicitCast<AlphaModulateFixed>(operation);
break;
}
}
// 新しい透明度値を設定します。
if (transparencyOperation == nullptr)
{
imageTransform->AddAlphaModulateFixedEffect(100.0f - transparencyValue);
}
else
{
transparencyOperation->set_Amount(100.0f - transparencyValue);
}
スライド背景の値を取得する
Aspose.Slides は、スライド背景の効果的な値を取得するために IBackgroundEffectiveData インターフェースを提供します。このインターフェースには、効果的な FillFormat と効果的な EffectFormat に関する情報が含まれています。
BaseSlide クラスの Background プロパティを使用して、スライド背景の効果的な値を取得できます。
この C++ コードは、スライドの効果的な背景値を取得する方法を示しています:
// Presentation クラスのインスタンスを作成
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"塗りつぶし色: ") + effBackground->get_FillFormat()->get_SolidFillColor());
}
else
{
System::Console::WriteLine(System::String(u"塗りつぶしタイプ: ") + System::ObjectExt::ToString(effBackground->get_FillFormat()->get_FillType()));
}