Aplicar efectos de forma en presentaciones usando Python vía Java
Introducción
Aunque los efectos en PowerPoint pueden usarse para que una forma destaque, difieren de los rellenos o los contornos. Con los efectos de PowerPoint, puedes crear reflejos convincentes en una forma, difundir el brillo de una forma, etc.

PowerPoint ofrece seis efectos que pueden aplicarse a las formas. Puedes aplicar uno o varios efectos a una forma.
Algunas combinaciones de efectos son más agradables que otras. Por esta razón, PowerPoint proporciona opciones bajo Preajuste. Las opciones de Preajuste son combinaciones de dos o más efectos que se sabe que lucen bien. De este modo, al seleccionar un preajuste, no tendrás que perder tiempo probando o combinando diferentes efectos para encontrar una buena combinación.
Aspose.Slides ofrece propiedades y métodos bajo la clase EffectFormat que permiten aplicar los mismos efectos a formas en presentaciones de PowerPoint.
Aplicar un efecto de sombra
Aspose.Slides for Python via Java admite sombras externas e internas para las formas. Puedes personalizar su color, dirección, distancia y radio de desenfoque para que coincidan con el diseño de tu presentación.
Aplicar una sombra externa
Utiliza una sombra externa para que una tarjeta o panel destaque sobre el fondo de la diapositiva. La sombra se extiende más allá de los bordes de la forma, creando la impresión de que la forma está elevada sobre la diapositiva. Ajusta su color, dirección, distancia y radio de desenfoque para que coincidan con la iluminación y el estilo de tu plantilla.
Este código Python muestra cómo aplicar el efecto de sombra externa a un rectángulo:
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:
slide = presentation.getSlides().get_Item(0)
shape = slide.getShapes().addAutoShape(ShapeType.RoundCornerRectangle, 20, 20, 200, 100)
shape.getEffectFormat().enableOuterShadowEffect()
shape.getEffectFormat().getOuterShadowEffect().getShadowColor().setColor(Color(169, 169, 169))
shape.getEffectFormat().getOuterShadowEffect().setDistance(10)
shape.getEffectFormat().getOuterShadowEffect().setDirection(45)
presentation.save("shadow_effect.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()

Aplicar una sombra interna
Al reproducir el estilo visual de una plantilla, usa una sombra interna para dar a una tarjeta o panel una apariencia hundida. Una sombra externa se extiende fuera de la forma y la hace parecer elevada, mientras que una sombra interna sombrea el interior de sus bordes.
Llama a enableInnerShadowEffect, luego configura la sombra devuelta por getInnerShadowEffect. Valores mayores de radio de desenfoque producen bordes más suaves.
Este ejemplo Python crea una tarjeta azul claro con una sombra interna gris oscuro y la guarda como archivo PPTX. La dirección de la sombra es de 225 grados, su distancia es de 7 puntos y su radio de desenfoque es de 6 puntos:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import FillType, Presentation, SaveFormat, ShapeType
from java.awt import Color
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 20, 200, 100)
shape.getFillFormat().setFillType(FillType.Solid)
shape.getFillFormat().getSolidFillColor().setColor(Color(173, 216, 230))
shape.getLineFormat().getFillFormat().setFillType(FillType.NoFill)
shape.getEffectFormat().enableInnerShadowEffect()
shadow = shape.getEffectFormat().getInnerShadowEffect()
shadow.getShadowColor().setColor(Color(105, 105, 105))
shadow.setDirection(225)
shadow.setDistance(7)
shadow.setBlurRadius(6)
presentation.save("inner_shadow_effect.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()

Para eliminar la sombra interna, llama a disableInnerShadowEffect en el formato de efecto de la forma.
Aplicar un efecto de reflejo
Para aplicar un efecto de reflejo en Aspose.Slides for Python via Java, puedes añadir un reflejo tipo espejo a las formas, ajustando parámetros como distancia, transparencia y tamaño. Este efecto realza la estética de tus presentaciones al dar a las formas un aspecto más pulido y sofisticado. Es fácil de implementar con código sencillo, lo que permite una aplicación rápida en varios elementos para un diseño coherente.
Este código Python muestra cómo aplicar el efecto de reflejo a una forma:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, RectangleAlignment, SaveFormat, ShapeType
presentation = 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()

Aplicar un efecto de brillo
Para aplicar un efecto de brillo a una forma en Aspose.Slides for Python via Java, puedes añadir una aura suave y luminosa alrededor de las formas, ajustando propiedades como el color y el tamaño. Este efecto ayuda a que las formas destaquen y añade un elemento visual atractivo y llamativo a tu presentación. Es fácil de implementar con código mínimo, mejorando el aspecto general de tus diapositivas.
Este código Python muestra cómo aplicar el efecto de brillo a una forma:
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:
slide = presentation.getSlides().get_Item(0)
shape = slide.getShapes().addAutoShape(ShapeType.RoundCornerRectangle, 20, 20, 200, 100)
shape.getEffectFormat().enableGlowEffect()
shape.getEffectFormat().getGlowEffect().getColor().setColor(Color.MAGENTA)
shape.getEffectFormat().getGlowEffect().setRadius(15)
presentation.save("glow_effect.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()

Aplicar un efecto de bordes suaves
Para aplicar un efecto de bordes suaves en Aspose.Slides for Python via Java, puedes crear una transición lisa y difuminada alrededor de los bordes de una forma. Este efecto aporta un aspecto más sutil y refinado, perfecto para diseños que necesitan una apariencia delicada y más suave. Puedes ajustar fácilmente parámetros como el radio para lograr el efecto deseado en diversas formas de tu presentación.
Este código Python muestra cómo aplicar el efecto de bordes suaves a una forma:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, ShapeType
presentation = 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()

Preguntas frecuentes
¿Puedo aplicar varios efectos a la misma forma?
Sí, puedes combinar diferentes efectos, como sombra, reflejo y brillo, en una única forma para crear una apariencia más dinámica.
¿A qué tipos de formas puedo aplicar efectos?
Puedes aplicar efectos a varias formas, incluidas formas automáticas, gráficos, tablas, imágenes, objetos SmartArt, objetos OLE y más.
¿Puedo aplicar efectos a formas agrupadas?
Sí, puedes aplicar efectos a formas agrupadas. El efecto se aplicará a todo el grupo.