Применение эффектов фигур в презентациях с использованием PHP

В то время как эффекты PowerPoint можно использовать, чтобы выделить форму, они отличаются от fills или контуров. С помощью эффектов PowerPoint можно создавать убедительные отражения на форме, распространять светящийся ореол формы и т.д.

shape-effect

  • PowerPoint предоставляет шесть эффектов, которые можно применять к формам. К форме можно применить один или несколько эффектов.

  • Некоторые комбинации эффектов выглядят лучше, чем другие. По этой причине в PowerPoint есть параметры под Preset. Параметры Preset представляют собой известную хорошо выглядящую комбинацию двух и более эффектов. Таким образом, выбрав предустановку, вам не придётся тратить время на тестирование или комбинирование разных эффектов, чтобы найти удачную комбинацию.

Aspose.Slides предоставляет свойства и методы в классе EffectFormat, которые позволяют применять те же эффекты к формам в презентациях PowerPoint.

Применение эффекта тени

Этот PHP‑код показывает, как применить внешний эффект тени (OuterShadowEffect) к прямоугольнику:

  $pres = new Presentation();
  try {
    $shape = $pres->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::RoundCornerRectangle, 20, 20, 200, 150);
    $shape->getEffectFormat()->enableOuterShadowEffect();
    $shape->getEffectFormat()->getOuterShadowEffect()->getShadowColor()->setColor(java("java.awt.Color")->DARK_GRAY);
    $shape->getEffectFormat()->getOuterShadowEffect()->setDistance(10);
    $shape->getEffectFormat()->getOuterShadowEffect()->setDirection(45);
    $pres->save("output.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Применение эффекта отражения

Этот PHP‑код показывает, как применить эффект отражения к форме:

  $pres = new Presentation();
  try {
    $shape = $pres->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::RoundCornerRectangle, 20, 20, 200, 150);
    $shape->getEffectFormat()->enableReflectionEffect();
    $shape->getEffectFormat()->getReflectionEffect()->setRectangleAlign(RectangleAlignment->Bottom);
    $shape->getEffectFormat()->getReflectionEffect()->setDirection(90);
    $shape->getEffectFormat()->getReflectionEffect()->setDistance(55);
    $shape->getEffectFormat()->getReflectionEffect()->setBlurRadius(4);
    $pres->save("reflection.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Применение эффекта свечения

Этот PHP‑код показывает, как применить эффект свечения к форме:

  $pres = new Presentation();
  try {
    $shape = $pres->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::RoundCornerRectangle, 20, 20, 200, 150);
    $shape->getEffectFormat()->enableGlowEffect();
    $shape->getEffectFormat()->getGlowEffect()->getColor()->setColor(java("java.awt.Color")->MAGENTA);
    $shape->getEffectFormat()->getGlowEffect()->setRadius(15);
    $pres->save("glow.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Применение эффекта мягких краёв

Этот PHP‑код показывает, как применить мягкие края к форме:

  $pres = new Presentation();
  try {
    $shape = $pres->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::RoundCornerRectangle, 20, 20, 200, 150);
    $shape->getEffectFormat()->enableSoftEdgeEffect();
    $shape->getEffectFormat()->getSoftEdgeEffect()->setRadius(15);
    $pres->save("softEdges.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Можно ли применить несколько эффектов к одной и той же форме?

Да, вы можете комбинировать разные эффекты, такие как тень, отражение и свечение, на одной форме, чтобы создать более динамичный вид.

К каким формам можно применять эффекты?

Эффекты можно применять к различным формам, включая автозаполняемые фигуры, диаграммы, таблицы, изображения, объекты SmartArt, OLE‑объекты и многое другое.

Можно ли применять эффекты к сгруппированным формам?

Да, эффекты можно применять к сгруппированным формам. Эффект будет применён ко всей группе.