إدارة خلفيات العروض التقديمية في C++
نظرة عامة
الألوان الصلبة، والتدرجات، والصور تُستخدم عادةً كخلفيات للشرائح. يمكنك تعيين الخلفية لـ شريحة عادية (شريحة واحدة) أو شريحة رئيسية (تنطبق على عدة شرائح في آن واحد).

تعيين خلفية بلون صلب لشريحة عادية
تتيح لك Aspose.Slides تعيين لون صلب كخلفية لشريحة معينة في عرض تقديمي—حتى إذا كان العرض يستخدم شريحة رئيسية. يتطبق التغيير فقط على الشريحة المحددة.
- إنشاء كائن من الفئة Presentation.
- تعيين BackgroundType للشريحة إلى
OwnBackground. - تعيين FillType خلفية الشريحة إلى
Solid. - استخدام طريقة get_SolidFillColor على FillFormat لتحديد لون الخلفية الصلب.
- حفظ العرض التقديمي المعدل.
// إنشاء كائن من فئة Presentation.
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
// ضبط لون خلفية الشريحة إلى اللون الأزرق.
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());
// حفظ العرض التقديمي إلى القرص.
presentation->Save(u"SolidColorBackground.pptx", SaveFormat::Pptx);
presentation->Dispose();
تعيين خلفية بلون صلب لشريحة رئيسية
تتيح لك Aspose.Slides تعيين لون صلب كخلفية لشريحة الرئيسة في عرض تقديمي. شريحة الرئيسة تعمل كقالب يتحكم في تنسيق جميع الشرائح، لذلك عندما تختار لونًا صلبًا لخلفية شريحة الرئيسة، يتم تطبيقه على كل شريحة.
- إنشاء كائن من الفئة Presentation.
- تعيين BackgroundType لشريحة الرئيسة (عبر
get_Masters) إلىOwnBackground. - تعيين FillType خلفية شريحة الرئيسة إلى
Solid. - استخدام طريقة get_SolidFillColor لتحديد لون الخلفية الصلب.
- حفظ العرض التقديمي المعدل.
// إنشاء كائن من فئة Presentation.
auto presentation = MakeObject<Presentation>();
auto masterSlide = presentation->get_Master(0);
// تعيين لون خلفية الشريحة الرئيسية إلى اللون الأخضر الغابي.
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());
// حفظ العرض التقديمي إلى القرص.
presentation->Save(u"MasterSlideBackground.pptx", SaveFormat::Pptx);
presentation->Dispose();
تعيين خلفية متدرجة لشريحة
التدرج هو تأثير رسومي يتم إنشاؤه بتغير تدريجي في اللون. عند استخدامه كخلفية للشرائح، يمكن للتدرجات أن تجعل العروض التقديمية تبدو أكثر فنية واحترافية. تتيح لك Aspose.Slides تعيين لون متدرج كخلفية للشرائح.
- إنشاء كائن من الفئة Presentation.
- تعيين BackgroundType للشفرة إلى
OwnBackground. - تعيين FillType خلفية الشريحة إلى
Gradient. - استخدام طريقة get_GradientFormat على FillFormat لتكوين إعدادات التدرج المفضلة لديك.
- حفظ العرض التقديمي المعدل.
// إنشاء كائن من فئة Presentation.
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
// تطبيق تأثير تدرج على الخلفية.
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);
// حفظ العرض التقديمي إلى القرص.
presentation->Save(u"GradientBackground.pptx", SaveFormat::Pptx);
presentation->Dispose();
تعيين صورة كخلفية لشريحة
بالإضافة إلى التعبئات الصلبة والمتدرجة، تتيح لك Aspose.Slides استخدام الصور كخلفيات للشرائح.
- إنشاء كائن من الفئة Presentation.
- تعيين BackgroundType للشفرة إلى
OwnBackground. - تعيين FillType خلفية الشريحة إلى
Picture. - تحميل الصورة التي تريد استخدامها كخلفية للشفرة.
- إضافة الصورة إلى مجموعة الصور في العرض التقديمي.
- استخدام طريقة get_PictureFillFormat على FillFormat لتعيين الصورة كخلفية.
- حفظ العرض التقديمي المعدل.
// إنشاء كائن من فئة Presentation.
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
// ضبط خصائص صورة الخلفية.
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);
// تحميل الصورة.
auto image = Images::FromFile(u"Tulips.jpg");
// إضافة الصورة إلى مجموعة صور العرض التقديمي.
auto ppImage = presentation->get_Images()->AddImage(image);
image->Dispose();
slide->get_Background()->get_FillFormat()->get_PictureFillFormat()->get_Picture()->set_Image(ppImage);
// حفظ العرض التقديمي إلى القرص.
presentation->Save(u"ImageAsBackground.pptx", SaveFormat::Pptx);
presentation->Dispose();
يعرض مثال الشيفرة التالي كيفية تعيين نوع تعبئة الخلفية إلى صورة مكررة وتعديل خصائص التكرار:
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();
تغيير شفافية صورة الخلفية
قد ترغب في تعديل شفافية صورة خلفية الشريحة لجعل محتوى الشريحة يبرز أكثر. يوضح الكود التالي بلغة C++ كيفية تغيير الشفافية لصورة خلفية الشريحة:
auto transparencyValue = 30; // على سبيل المثال.
// الحصول على مجموعة عمليات تحويل الصورة.
auto imageTransform = slide->get_Background()->get_FillFormat()->get_PictureFillFormat()->get_Picture()->get_ImageTransform();
// العثور على تأثير شفافية ثابت النسبة المئوية موجود.
SharedPtr<IAlphaModulateFixed> transparencyOperation;
for (auto&& operation : imageTransform)
{
if (ObjectExt::Is<IAlphaModulateFixed>(operation))
{
transparencyOperation = ExplicitCast<IAlphaModulateFixed>(operation);
break;
}
}
// تعيين قيمة الشفافية الجديدة.
if (transparencyOperation == nullptr)
{
imageTransform->AddAlphaModulateFixedEffect(100.0f - transparencyValue);
}
else
{
transparencyOperation->set_Amount(100.0f - transparencyValue);
}
الحصول على قيمة خلفية الشريحة
توفر Aspose.Slides واجهة IBackgroundEffectiveData لاسترجاع القيم الفعلية لخلفية الشريحة. تكشف هذه الواجهة عن FillFormat وEffectFormat الفعليين.
باستخدام طريقة get_Background في الفئة BaseSlide، يمكنك الحصول على الخلفية الفعلية لشريحة.
// إنشاء مثيل من فئة Presentation.
auto presentation = MakeObject<Presentation>(u"Sample.pptx");
auto slide = presentation->get_Slide(0);
// استرجاع الخلفية الفعالة مع مراعاة الشريحة الرئيسة، التخطيط، والسمة.
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()));
}
الأسئلة المتكررة
هل يمكنني إعادة تعيين خلفية مخصصة واستعادة خلفية السمة/التخطيط؟
نعم. أزل التعبئة المخصصة للشريحة، وسيتم توريث الخلفية مرة أخرى من شريحة التخطيط/الرئيسية المقابلة (أي خلفية السمة).
ماذا يحدث للخلفية إذا غيرت سمة العرض التقديمي لاحقًا؟
إذا كان للشفرة تعبئة خاصة به، فستبقى بدون تغيير. إذا كانت الخلفية مُتورَّثة من شريحة التخطيط/الرئيسية، فستُحدَّث لتطابق السمة الجديدة.