在演示文稿中使用 PHP 应用形状效果

介绍

虽然 PowerPoint 中的效果可用于使形状突出,但它们不同于 填充 或轮廓。使用 PowerPoint 效果,您可以在形状上创建逼真的反射、扩散形状的光晕等。

形状效果

PowerPoint 提供六种可应用于形状的效果。您可以对形状应用一种或多种效果。

某些效果组合看起来比其他组合更好。因此,PowerPoint 在 Preset 下提供选项。预设选项是两个或多个已知效果的组合。这样,通过选择预设,您无需浪费时间测试或组合不同的效果来找到合适的组合。

Aspose.Slides 在 EffectFormat 类下提供属性和方法,允许您在 PowerPoint 演示文稿的形状上应用相同的效果。

应用阴影效果

Aspose.Slides for PHP via Java 支持形状的外部和内部阴影。您可以自定义它们的颜色、方向、距离和模糊半径,以匹配演示文稿的设计。

应用外部阴影

使用外部阴影使卡片或面板在幻灯片背景上突出。阴影超出形状边缘,产生形状在幻灯片上方抬起的感觉。调整颜色、方向、距离和模糊半径,以匹配模板的光照和样式。

此 PHP 代码展示如何将 外部阴影效果 应用于矩形:

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;

$presentation = new Presentation();
try {
    $slide = $presentation->getSlides()->get_Item(0);

    $shape = $slide->getShapes()->addAutoShape(ShapeType::RoundCornerRectangle, 20, 20, 200, 100);
    $shape->getEffectFormat()->enableOuterShadowEffect();
    $shadowColor = new Java("java.awt.Color", 169, 169, 169);
    $shape->getEffectFormat()->getOuterShadowEffect()->getShadowColor()->setColor($shadowColor);
    $shape->getEffectFormat()->getOuterShadowEffect()->setDistance(10);
    $shape->getEffectFormat()->getOuterShadowEffect()->setDirection(45);

    $presentation->save("shadow_effect.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

阴影效果

应用内部阴影

在复现模板的视觉样式时,使用内部阴影为卡片或面板提供凹陷外观。外部阴影延伸到形状外部,使其看起来被抬起,而内部阴影则在其边缘内部着色。

调用 enableInnerShadowEffect,然后配置由 getInnerShadowEffect 返回的阴影。较大的模糊半径值会产生更柔和的边缘。

此 PHP 示例创建一个浅蓝色卡片,并带有深灰色内部阴影,然后将其保存为 PPTX 文件。阴影方向为 225 度,距离为 7 磅,模糊半径为 6 磅:

use aspose\slides\FillType;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;

$presentation = new Presentation();
try {
    $slide = $presentation->getSlides()->get_Item(0);

    $shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 20, 20, 200, 100);
    $shape->getFillFormat()->setFillType(FillType::Solid);
    $fillColor = new Java("java.awt.Color", 173, 216, 230);
    $shape->getFillFormat()->getSolidFillColor()->setColor($fillColor);
    $shape->getLineFormat()->getFillFormat()->setFillType(FillType::NoFill);

    $shape->getEffectFormat()->enableInnerShadowEffect();
    $shadow = $shape->getEffectFormat()->getInnerShadowEffect();
    $shadowColor = new Java("java.awt.Color", 105, 105, 105);
    $shadow->getShadowColor()->setColor($shadowColor);
    $shadow->setDirection(225);
    $shadow->setDistance(7);
    $shadow->setBlurRadius(6);

    $presentation->save("inner_shadow_effect.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

带内部阴影的浅蓝色矩形

要移除内部阴影,请对形状的 effect format 调用 disableInnerShadowEffect。

应用反射效果

要在 Aspose.Slides for PHP via Java 中应用反射效果,您可以为形状添加镜面反射,并调整距离、透明度和大小等参数。此效果通过为形状提供更精致、专业的外观来提升演示文稿的美感。实现简单,代码少,可在多个元素间快速应用,以保持设计一致性。

此 PHP 代码展示如何将 反射效果 应用于形状:

use aspose\slides\Presentation;
use aspose\slides\RectangleAlignment;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;

$presentation = new Presentation();
try {
    $slide = $presentation->getSlides()->get_Item(0);

    $shape = $slide->getShapes()->addAutoShape(ShapeType::RoundCornerRectangle, 20, 20, 200, 100);
    $shape->getEffectFormat()->enableReflectionEffect();
    $shape->getEffectFormat()->getReflectionEffect()->setRectangleAlign(RectangleAlignment::Bottom);
    $shape->getEffectFormat()->getReflectionEffect()->setDirection(90);
    $shape->getEffectFormat()->getReflectionEffect()->setDistance(40);
    $shape->getEffectFormat()->getReflectionEffect()->setBlurRadius(2);

    $presentation->save("reflection_effect.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

反射效果

应用发光效果

要在 Aspose.Slides for PHP via Java 中为形状应用发光效果,您可以在形状周围添加柔和的光晕,并调整颜色和大小等属性。此效果有助于突出形状,并为演示文稿增添吸引人的视觉元素。实现简便,代码最少,可提升幻灯片整体外观。

此 PHP 代码展示如何将 发光效果 应用于形状:

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;

$presentation = new Presentation();
try {
    $slide = $presentation->getSlides()->get_Item(0);

    $shape = $slide->getShapes()->addAutoShape(ShapeType::RoundCornerRectangle, 20, 20, 200, 100);
    $shape->getEffectFormat()->enableGlowEffect();
    $shape->getEffectFormat()->getGlowEffect()->getColor()->setColor(java("java.awt.Color")->MAGENTA);
    $shape->getEffectFormat()->getGlowEffect()->setRadius(15);

    $presentation->save("glow_effect.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

发光效果

应用柔化边缘效果

要在 Aspose.Slides for PHP via Java 中应用柔化边缘效果,您可以为形状的边缘创建平滑、模糊的过渡。此效果增添更细腻、精致的外观,适用于需要柔和外观的设计。您可以轻松调整半径等参数,在演示文稿中的各种形状上实现所需效果。

此 PHP 代码展示如何将 柔化边缘效果 应用于形状:

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;

$presentation = new Presentation();
try {
    $slide = $presentation->getSlides()->get_Item(0);

    $shape = $slide->getShapes()->addAutoShape(ShapeType::RoundCornerRectangle, 20, 20, 200, 150);
    $shape->getEffectFormat()->enableSoftEdgeEffect();
    $shape->getEffectFormat()->getSoftEdgeEffect()->setRadius(8);

    $presentation->save("soft_edges_effect.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

柔化边缘效果

常见问答

我可以对同一个形状应用多个效果吗?

是的,您可以在单个形状上组合不同的效果,例如阴影、反射和发光,以创建更具动感的外观。

我可以对哪些形状应用效果?

您可以对各种形状应用效果,包括自动形状、图表、表格、图片、SmartArt 对象、OLE 对象等。

我可以对组合形状应用效果吗?

可以,您可以对组合形状应用效果。该效果将应用于整个组合。