Apply Shape Effects in Presentations Using Python via Java
Introduction
While effects in PowerPoint can be used to make a shape stand out, they differ from fills or outlines. Using PowerPoint effects, you can create convincing reflections on a shape, spread a shape’s glow, etc.

-
PowerPoint provides six effects that can be applied to shapes. You can apply one or more effects to a shape.
-
Some combinations of effects look better than others. For this reason, PowerPoint provides options under Preset. The Preset options are essentially combinations of two or more effects known to look good. This way, by selecting a preset, you won’t have to waste time testing or combining different effects to find a nice combination.
Aspose.Slides provides properties and methods under the EffectFormat class that allow you to apply the same effects to shapes in PowerPoint presentations.
Apply a Shadow Effect
This Python code shows you how to apply the outer shadow effect (EffectFormat.getOuterShadowEffect) to a rectangle:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, ShapeType
from java.awt import Color
presentation = Presentation()
try:
shape = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.RoundCornerRectangle, 20, 20, 200, 150)
shape.getEffectFormat().enableOuterShadowEffect()
shape.getEffectFormat().getOuterShadowEffect().getShadowColor().setColor(Color.DARK_GRAY)
shape.getEffectFormat().getOuterShadowEffect().setDistance(10)
shape.getEffectFormat().getOuterShadowEffect().setDirection(45)
presentation.save("output.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Apply a Reflection Effect
This Python code shows you how to apply the reflection effect to a shape:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, RectangleAlignment, SaveFormat, ShapeType
presentation = Presentation()
try:
shape = presentation.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)
presentation.save("reflection.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Apply a Glow Effect
This Python code shows you how to apply the glow effect to a shape:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, ShapeType
from java.awt import Color
presentation = Presentation()
try:
shape = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.RoundCornerRectangle, 20, 20, 200, 150)
shape.getEffectFormat().enableGlowEffect()
shape.getEffectFormat().getGlowEffect().getColor().setColor(Color.MAGENTA)
shape.getEffectFormat().getGlowEffect().setRadius(15)
presentation.save("glow.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Apply a Soft Edges Effect
This Python code shows you how to apply a soft edges effect to a shape:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, ShapeType
presentation = Presentation()
try:
shape = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.RoundCornerRectangle, 20, 20, 200, 150)
shape.getEffectFormat().enableSoftEdgeEffect()
shape.getEffectFormat().getSoftEdgeEffect().setRadius(15)
presentation.save("softEdges.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
FAQ
Can I apply multiple effects to the same shape?
Yes, you can combine different effects, such as shadow, reflection, and glow, on a single shape to create a more dynamic appearance.
What shapes can I apply effects to?
You can apply effects to various shapes, including autoshapes, charts, tables, pictures, SmartArt objects, OLE objects, and more.
Can I apply effects to grouped shapes?
Yes, you can apply effects to grouped shapes. The effect will apply to the entire group.