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.
A töltőrendszer
Minden alaknak van egy… fill_format Az öt töltőtípus a PowerPoint teljes tervezési palettáját fedte le.
Szilárd töltés
A legegyszerűbb töltés, egy lapos szín, opcionális átláthatósággal:
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)
Lineáris gradiens töltés
A skálák segítségével a színek egymásba keverednek az alakú formában:
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
Külső csepp árnyék
A járműveknek a következők kellenek:
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)
Világító hatás
Egy színes fénykör a forma szélén:
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
A kerítés és az anyag
A Bizottság three_d_format A képek egy-egy formája, amely a fényképezőgép előkészítésével és az anyagkal kombinálva adhat háromdimenziós megjelenést bármely sík alakhoz:
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)
Egyforma hatások kombinálása
Az árnyék és a 3D formázás egyforma alakban társult meg, így kifinomított “kártya” minták kialakulhatnak:
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)
Beépítés
pip install aspose-slides-fossNincs Office telepítés, nincs licenckulcs, nincsenek hálózati hívások; minden feldolgozás helyileg történik.