Aspose.Slides FOSS for Python lets you apply professional-quality visual effects to PowerPoint shapes entirely in Python, with no Microsoft Office and no API keys. This post demonstrates the fill system, 2D effects, and 3D formatting available in the library.
El sistema d’ompliments
Cada forma té un fill_format que controla com es pinta el seu interior. Els cinc tipus d’emplenament cobreixen tota la gamma de la paleta de disseny de PowerPoint.
Ompliment sòlid
L’ompliment més senzill, un color uniforme amb transparència opcional:
from aspose.slides_foss import ShapeType, FillType
from aspose.slides_foss.drawing import Color
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
shape = prs.slides[0].shapes.add_auto_shape(
ShapeType.ROUND_CORNER_RECTANGLE, 100, 100, 400, 150
)
shape.add_text_frame("Solid Fill")
shape.fill_format.fill_type = FillType.SOLID
shape.fill_format.solid_fill_color.color = Color.from_argb(255, 30, 80, 180)
prs.save("solid.pptx", SaveFormat.PPTX)
Ompliment degradat lineal
Els punts de degradat us permeten barrejar d’un color a un altre a través de la forma:
from aspose.slides_foss import ShapeType, FillType, GradientShape
from aspose.slides_foss.drawing import Color
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
shape = prs.slides[0].shapes.add_auto_shape(
ShapeType.RECTANGLE, 100, 100, 400, 150
)
ff = shape.fill_format
ff.fill_type = FillType.GRADIENT
gf = ff.gradient_format
gf.gradient_shape = GradientShape.LINEAR
gf.linear_gradient_angle = 90 # top-to-bottom
gf.gradient_stops.add(0.0, Color.from_argb(255, 30, 80, 180)) # top: blue
gf.gradient_stops.add(1.0, Color.from_argb(255, 0, 200, 160)) # bottom: teal
prs.save("gradient.pptx", SaveFormat.PPTX)
2D Visual Effects
Ombra exterior
Adjunteu una ombra caiguda semitransparent a qualsevol forma:
from aspose.slides_foss import ShapeType, FillType
from aspose.slides_foss.drawing import Color
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
shape = prs.slides[0].shapes.add_auto_shape(
ShapeType.ROUND_CORNER_RECTANGLE, 100, 100, 350, 150
)
shape.add_text_frame("Drop Shadow")
shape.fill_format.fill_type = FillType.SOLID
shape.fill_format.solid_fill_color.color = Color.white
ef = shape.effect_format
ef.enable_outer_shadow_effect()
ef.outer_shadow_effect.blur_radius = 12
ef.outer_shadow_effect.direction = 315 # upper-left
ef.outer_shadow_effect.distance = 8
ef.outer_shadow_effect.shadow_color.color = Color.from_argb(100, 0, 0, 0)
prs.save("shadow.pptx", SaveFormat.PPTX)
Efecte de resplendor
Un halo de color al voltant del contorn de la forma:
from aspose.slides_foss import ShapeType, FillType
from aspose.slides_foss.drawing import Color
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
shape = prs.slides[0].shapes.add_auto_shape(
ShapeType.ELLIPSE, 150, 100, 250, 250
)
shape.fill_format.fill_type = FillType.SOLID
shape.fill_format.solid_fill_color.color = Color.from_argb(255, 20, 60, 140)
ef = shape.effect_format
ef.enable_glow_effect()
ef.glow_effect.radius = 20
ef.glow_effect.color.color = Color.from_argb(200, 0, 180, 255)
prs.save("glow.pptx", SaveFormat.PPTX)
3D Formatting
Bisel i Material
El three_d_format La propietat dóna a qualsevol forma plana una aparença tridimensional. Combina un bisell amb un ajust predefinit de càmera i un material per al resultat més ric:
from aspose.slides_foss import (
ShapeType, FillType,
BevelPresetType, CameraPresetType,
LightRigPresetType, LightingDirection,
MaterialPresetType,
)
from aspose.slides_foss.drawing import Color
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
shape = prs.slides[0].shapes.add_auto_shape(
ShapeType.RECTANGLE, 150, 150, 300, 130
)
shape.add_text_frame("Metal Button")
# Blue solid fill
shape.fill_format.fill_type = FillType.SOLID
shape.fill_format.solid_fill_color.color = Color.from_argb(255, 20, 70, 160)
# 3D bevel + camera + light + material
tdf = shape.three_d_format
tdf.bevel_top.bevel_type = BevelPresetType.CIRCLE
tdf.bevel_top.width = 10
tdf.bevel_top.height = 5
tdf.camera.camera_type = CameraPresetType.PERSPECTIVE_ABOVE
tdf.light_rig.light_type = LightRigPresetType.BALANCED
tdf.light_rig.direction = LightingDirection.TOP
tdf.material = MaterialPresetType.METAL
tdf.depth = 20
prs.save("metal-button.pptx", SaveFormat.PPTX)
Combinació d’efectes a la mateixa forma
L’ombra i la formatació 3D poden coexistir en una sola forma, permetent dissenys de “targeta” polits:
from aspose.slides_foss import (
ShapeType, FillType,
BevelPresetType, CameraPresetType, MaterialPresetType,
)
from aspose.slides_foss.drawing import Color
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
shape = prs.slides[0].shapes.add_auto_shape(
ShapeType.ROUND_CORNER_RECTANGLE, 120, 120, 360, 150
)
shape.add_text_frame("Premium Card")
# Fill
shape.fill_format.fill_type = FillType.SOLID
shape.fill_format.solid_fill_color.color = Color.from_argb(255, 30, 80, 180)
# 3D bevel
tdf = shape.three_d_format
tdf.bevel_top.bevel_type = BevelPresetType.CIRCLE
tdf.bevel_top.width = 8
tdf.camera.camera_type = CameraPresetType.PERSPECTIVE_ABOVE
tdf.material = MaterialPresetType.PLASTIC
# Drop shadow
ef = shape.effect_format
ef.enable_outer_shadow_effect()
ef.outer_shadow_effect.blur_radius = 14
ef.outer_shadow_effect.direction = 270
ef.outer_shadow_effect.distance = 8
ef.outer_shadow_effect.shadow_color.color = Color.from_argb(70, 0, 0, 0)
prs.save("premium-card.pptx", SaveFormat.PPTX)
Instal·lació
pip install aspose-slides-foss
Cap instal·lació d’Office, cap clau de llicència, cap trucada de xarxa; tot el processament es realitza localment.