مدیریت پسزمینههای ارائه در PHP
مقدمه
رنگهای ثابت، گرادیانها و تصاویر معمولاً برای پسزمینه اسلایدها استفاده میشوند. میتوانید پسزمینه را برای یک اسلاید عادی (یک اسلاید تک) یا یک اسلاید مستر (که برای چندین اسلاید بهطور همزمان اعمال میشود) تنظیم کنید.

تنظیم پسزمینه رنگ ثابت برای اسلاید عادی
Aspose.Slides به شما اجازه میدهد یک رنگ ثابت را بهعنوان پسزمینه اسلاید خاصی در یک ارائه تنظیم کنید — حتی اگر ارائه از اسلاید مستر استفاده کند. این تغییر فقط به اسلاید انتخابشده اعمال میشود.
- یک نمونه از کلاس Presentation ایجاد کنید.
- مقدار BackgroundType اسلاید را به
OwnBackgroundتنظیم کنید. - مقدار FillType پسزمینه اسلاید را به
Solidتنظیم کنید. - از متد getSolidFillColor در FillFormat برای تعیین رنگ ثابت پسزمینه استفاده کنید.
- ارائه تغییر یافته را ذخیره کنید.
مثال PHP زیر نشان میدهد چگونه یک رنگ ثابت آبی را بهعنوان پسزمینه اسلاید عادی تنظیم کنید:
// یک نمونه از کلاس Presentation ایجاد کنید.
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
// رنگ پسزمینه اسلاید را به آبی تنظیم کنید.
$slide->getBackground()->setType(BackgroundType::OwnBackground);
$slide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$slide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
// ارائه را روی دیسک ذخیره کنید.
$presentation->save("SolidColorBackground.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
تنظیم پسزمینه رنگ ثابت برای اسلاید مستر
Aspose.Slides به شما اجازه میدهد یک رنگ ثابت را بهعنوان پسزمینه اسلاید مستر در یک ارائه تنظیم کنید. اسلاید مستر بهعنوان قالبی عمل میکند که قالببندی تمام اسلایدها را کنترل میکند، بنابراین وقتی یک رنگ ثابت را برای پسزمینه اسلاید مستر انتخاب میکنید، برای هر اسلاید اعمال میشود.
- یک نمونه از کلاس Presentation ایجاد کنید.
- مقدار BackgroundType اسلاید مستر (از طریق
getMasters) را بهOwnBackgroundتنظیم کنید. - مقدار FillType پسزمینه اسلاید مستر را به
Solidتنظیم کنید. - از متد getSolidFillColor برای تعیین رنگ ثابت پسزمینه استفاده کنید.
- ارائه تغییر یافته را ذخیره کنید.
مثال PHP زیر نشان میدهد چگونه یک رنگ ثابت (سبز) را بهعنوان پسزمینه اسلاید مستر تنظیم کنید:
// یک نمونه از کلاس Presentation ایجاد کنید.
$presentation = new Presentation();
try {
$masterSlide = $presentation->getMasters()->get_Item(0);
// رنگ پسزمینه اسلاید مستر را به سبز جنگلی تنظیم کنید.
$masterSlide->getBackground()->setType(BackgroundType::OwnBackground);
$masterSlide->getBackground()->getFillFormat()->setFillType(FillType::Solid);
$masterSlide->getBackground()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
// ارائه را روی دیسک ذخیره کنید.
$presentation->save("MasterSlideBackground.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
تنظیم پسزمینه گرادیان برای اسلاید
گرادیان یک اثر گرافیکی است که با تغییر تدریجی رنگ ایجاد میشود. هنگامی که بهعنوان پسزمینه اسلاید استفاده میشود، میتواند ارائهها را هنریتر و حرفهایتر نشان دهد. Aspose.Slides به شما اجازه میدهد یک رنگ گرادیان را بهعنوان پسزمینه اسلایدها تنظیم کنید.
- یک نمونه از کلاس Presentation ایجاد کنید.
- مقدار BackgroundType اسلاید را به
OwnBackgroundتنظیم کنید. - مقدار FillType پسزمینه اسلاید را به
Gradientتنظیم کنید. - از متد getGradientFormat در FillFormat برای پیکربندی تنظیمات دلخواه گرادیان استفاده کنید.
- ارائه تغییر یافته را ذخیره کنید.
مثال PHP زیر نشان میدهد چگونه یک رنگ گرادیان را بهعنوان پسزمینه اسلاید تنظیم کنید:
// یک نمونه از کلاس Presentation ایجاد کنید.
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
// یک افکت گرادیان به پسزمینه اعمال کنید.
$slide->getBackground()->setType(BackgroundType::OwnBackground);
$slide->getBackground()->getFillFormat()->setFillType(FillType::Gradient);
$slide->getBackground()->getFillFormat()->getGradientFormat()->setTileFlip(TileFlip::FlipBoth);
// ارائه را روی دیسک ذخیره کنید.
$presentation->save("GradientBackground.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
تنظیم تصویر بهعنوان پسزمینه اسلاید
علاوه بر پرکنندههای ثابت و گرادیان، Aspose.Slides به شما اجازه میدهد از تصاویر بهعنوان پسزمینه اسلایدها استفاده کنید.
- یک نمونه از کلاس Presentation ایجاد کنید.
- مقدار BackgroundType اسلاید را به
OwnBackgroundتنظیم کنید. - مقدار FillType پسزمینه اسلاید را به
Pictureتنظیم کنید. - تصویر موردنظر برای پسزمینه اسلاید را بارگیری کنید.
- تصویر را بهمجموعه تصاویر ارائه اضافه کنید.
- از متد getPictureFillFormat در FillFormat برای اختصاص تصویر بهعنوان پسزمینه استفاده کنید.
- ارائه تغییر یافته را ذخیره کنید.
مثال PHP زیر نشان میدهد چگونه یک تصویر را بهعنوان پسزمینه اسلاید تنظیم کنید:
// یک نمونه از کلاس Presentation ایجاد کنید.
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
// تنظیم ویژگیهای تصویر پسزمینه.
$slide->getBackground()->setType(BackgroundType::OwnBackground);
$slide->getBackground()->getFillFormat()->setFillType(FillType::Picture);
$slide->getBackground()->getFillFormat()->getPictureFillFormat()->setPictureFillMode(PictureFillMode::Stretch);
// بارگذاری تصویر.
$image = Images::fromFile("Tulips.jpg");
// تصویر را به مجموعه تصاویر ارائه اضافه کنید.
$ppImage = $presentation->getImages()->addImage($image);
$image->dispose();
$slide->getBackground()->getFillFormat()->getPictureFillFormat()->getPicture()->setImage($ppImage);
// ارائه را روی دیسک ذخیره کنید.
$presentation->save("ImageAsBackground.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
نمونه کد زیر نشان میدهد چگونه نوع پرکننده پسزمینه را به تصویر کاشیشده تنظیم کرده و ویژگیهای کاشی را اصلاح کنید:
$presentation = new Presentation();
try {
$firstSlide = $presentation->getSlides()->get_Item(0);
$background = $firstSlide->getBackground();
$background->setType(BackgroundType::OwnBackground);
$background->getFillFormat()->setFillType(FillType::Picture);
$newImage = Images::fromFile("image.png");
$ppImage = $presentation->getImages()->addImage($newImage);
$newImage->dispose();
// تنظیم تصویری که برای پر کردن پسزمینه استفاده میشود.
$backPictureFillFormat = $background->getFillFormat()->getPictureFillFormat();
$backPictureFillFormat->getPicture()->setImage($ppImage);
// حالت پر کردن تصویر را روی کاشی تنظیم کنید و ویژگیهای کاشی را تنظیم کنید.
$backPictureFillFormat->setPictureFillMode(PictureFillMode::Tile);
$backPictureFillFormat->setTileOffsetX(15);
$backPictureFillFormat->setTileOffsetY(15);
$backPictureFillFormat->setTileScaleX(46);
$backPictureFillFormat->setTileScaleY(87);
$backPictureFillFormat->setTileAlignment(RectangleAlignment::Center);
$backPictureFillFormat->setTileFlip(TileFlip::FlipY);
$presentation->save("TileBackground.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
تغییر شفافیت تصویر پسزمینه
ممکن است بخواهید شفافیت تصویر پسزمینه اسلاید را تنظیم کنید تا محتویات اسلاید برجستهتر شوند. کد PHP زیر نحوه تغییر شفافیت تصویر پسزمینه اسلاید را نشان میدهد:
$transparencyValue = 30; // برای مثال.
// Get the collection of picture transform operations.
$imageTransform = $slide->getBackground()->getFillFormat()->getPictureFillFormat()->getPicture()->getImageTransform();
// Find an existing fixed-percentage transparency effect.
$transparencyOperation = null;
foreach($imageTransform as $operation) {
if (java_instanceof($operation, new JavaClass("com.aspose.slides.AlphaModulateFixed"))) {
$transparencyOperation = $operation;
break;
}
}
// Set the new transparency value.
if (java_is_null($transparencyOperation)) {
$imageTransform->addAlphaModulateFixedEffect(100 - $transparencyValue);
} else {
$transparencyOperation->setAmount(100 - $transparencyValue);
}
دریافت مقدار پسزمینه اسلاید
Aspose.Slides کلاس BackgroundEffectiveData را برای دریافت مقادیر مؤثر پسزمینه اسلاید فراهم میکند. این کلاس FillFormat و EffectFormat مؤثر را در دسترس قرار میدهد.
با استفاده از متد getBackground کلاس BaseSlide میتوانید پسزمینه مؤثر یک اسلاید را بهدست آورید.
مثال PHP زیر نشان میدهد چگونه مقدار پسزمینه مؤثر یک اسلاید را دریافت کنید:
// یک نمونه از کلاس Presentation ایجاد کنید.
$presentation = new Presentation("Sample.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// دریافت پسزمینه مؤثر، با در نظر گرفتن مستر، طرحبندی و تم.
$effBackground = $slide->getBackground()->getEffective();
if ($effBackground->getFillFormat()->getFillType() == FillType::Solid)
echo "Fill color: " . $effBackground->getFillFormat()->getSolidFillColor() . "\n";
else
echo "Fill type: " . $effBackground->getFillFormat()->getFillType() . "\n";
} finally {
$presentation->dispose();
}
سوالات متداول
آیا میتوانم پسزمینه سفارشی را بازنشانی کرده و پسزمینه تم/طرحبندی را بازیابی کنم؟
بله. پرکننده سفارشی اسلاید را حذف کنید و پسزمینه دوباره از اسلاید layout/master مربوطه (یعنی theme background) به ارث برده میشود.
اگر بعدها تم ارائه را تغییر دهم، چه اتفاقی برای پسزمینه میافتد؟
اگر اسلاید پرکنندهٔ خود را داشته باشد، آنرا بدون تغییر میماند. اگر پسزمینه از layout/master به ارث برده شده باشد، با تم جدید بهروزرسانی میشود.