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.


Systém výplní

Každý tvar má fill_format ktorý riadi, ako je jeho vnútro maľované. Päť typov výplne pokrýva celý rozsah dizajnového palety PowerPointu.

Plná výplň

Najjednoduchšia výplň, plochá farba s voliteľnou priehľadnosťou:

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árna gradientová výplň

Zastávky gradientu vám umožňujú prechádzať z jednej farby do druhej po celom tvare:

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

Vonkajší vrhací tieň

Pripojte polopriehľadný vrhací tieň k akémukoľvek tvaru:

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)

Efekt žiary

Farebná aura okolo okraja tvaru:

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

Skosenie a materiál

Vlastnosť three_d_format dáva akémukoľvek plochému tvaru trojrozmerný vzhľad. Skombinujte skosenie s predvoľbou kamery a materiálom pre najbohatší výsledok:

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)

Kombinovanie efektov na rovnakom tvare

Tieň a 3D formátovanie môžu koexistovať na jednom tvare, čo umožňuje vylepšené “card” dizajny:

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)

Inštalácia

pip install aspose-slides-foss

Žiadna inštalácia Office, žiadne licenčné kľúče, žiadne sieťové volania; všetok proces prebieha lokálne.


Súvisiace zdroje