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 kitöltési rendszer
Minden alakzat rendelkezik egy fill_format ami szabályozza, hogyan festik ki a belsejét. Az öt kitöltéstípus lefedi a PowerPoint tervezési palettájának teljes skáláját.
Szilárd kitöltés
A legegyszerűbb kitöltés, egy egyszínű szín opcionális átlátszó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 színátmenetes kitöltés
Színátmenet állomások lehetővé teszik, hogy az alakzaton belül egy színből a másikba keverj:
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ő vetett árnyék
Csatolj félig átlátszó vetett árnyékot bármely alakzathoz:
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)
Ragyogás hatás
Színes halo az alakzat 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
Élt és anyag
A three_d_format tulajdonság háromdimenziós megjelenést kölcsönöz bármely sík alakzatnak. Kombináljon egy rézsút egy kamera előbeállítással és egy anyaggal a leggazdagabb eredményért:
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)
Hatások kombinálása ugyanazon az alakzaton
Az árnyék és a 3D formázás egyetlen alakzaton is együttesen alkalmazható, lehetővé téve a kifinomult „kártya” tervezéseket:
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)
Telepítés
pip install aspose-slides-foss
Nincs Office telepítés, nincs licenckulcs, nincs hálózati hívás; minden feldolgozás helyben történik.