Aspose.Slides FOSS for .NET lets you apply professional-quality visual effects to PowerPoint shapes entirely in C#, with no Microsoft Office and no API keys. This post demonstrates the fill system, 2D effects, and 3D formatting available in the library.


Sistem popunjavanja

Svaki oblik ima FillFormat koja kontroliše kako se njegov unutrašnji deo boji. Pet tipova popunjavanja pokriva čitav spektar PowerPoint-ove palete dizajna.

Čvrsto popunjavanje

Najjednostavnije popunjavanje, jednobojna boja sa opcionalnom transparentnošću:

using Aspose.Slides.Foss;

using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(
    ShapeType.RoundCornerRectangle, 100, 100, 400, 150
);
shape.AddTextFrame("Solid Fill");

shape.FillFormat.FillType = FillType.Solid;
shape.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 30, 80, 180);

prs.Save("solid.pptx", SaveFormat.Pptx);

Linearno gradijentno popunjavanje

Gradijentne tačke vam omogućavaju da prelivate iz jedne boje u drugu preko oblika:

using Aspose.Slides.Foss;

using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(
    ShapeType.Rectangle, 100, 100, 400, 150
);

var ff = shape.FillFormat;
ff.FillType = FillType.Gradient;
var gf = ff.GradientFormat;
gf.GradientShape = GradientShape.Linear;
gf.LinearGradientAngle = 90;   // top-to-bottom

gf.GradientStops.Add(0.0f, Color.FromArgb(255, 30, 80, 180));   // top: blue
gf.GradientStops.Add(1.0f, Color.FromArgb(255, 0, 200, 160));   // bottom: teal

prs.Save("gradient.pptx", SaveFormat.Pptx);

2D Visual Effects

Spoljna padajuća senka

Prikačite polutransparentnu padajuću senku na bilo koji oblik:

using Aspose.Slides.Foss;

using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(
    ShapeType.RoundCornerRectangle, 100, 100, 350, 150
);
shape.AddTextFrame("Drop Shadow");

shape.FillFormat.FillType = FillType.Solid;
shape.FillFormat.SolidFillColor.Color = Color.White;

var ef = shape.EffectFormat;
ef.EnableOuterShadowEffect();
ef.OuterShadowEffect.BlurRadius = 12;
ef.OuterShadowEffect.Direction = 315;   // upper-left
ef.OuterShadowEffect.Distance = 8;
ef.OuterShadowEffect.ShadowColor.Color = Color.FromArgb(100, 0, 0, 0);

prs.Save("shadow.pptx", SaveFormat.Pptx);

Efekat sjaja

Obojeni halo oko ivice oblika:

using Aspose.Slides.Foss;

using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(
    ShapeType.Ellipse, 150, 100, 250, 250
);
shape.FillFormat.FillType = FillType.Solid;
shape.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 20, 60, 140);

var ef = shape.EffectFormat;
ef.EnableGlowEffect();
ef.GlowEffect.Radius = 20;
ef.GlowEffect.Color.Color = Color.FromArgb(200, 0, 180, 255);

prs.Save("glow.pptx", SaveFormat.Pptx);

3D Formatting

Ukošenje i materijal

Svojstvo ThreeDFormat svojstvo daje svakom ravnom obliku trodimenzionalni izgled. Kombinujte nagib sa unapred podešenom kamerom i materijalom za najbogatiji rezultat:

using Aspose.Slides.Foss;

using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(
    ShapeType.Rectangle, 150, 150, 300, 130
);
shape.AddTextFrame("Metal Button");

// Blue solid fill
shape.FillFormat.FillType = FillType.Solid;
shape.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 20, 70, 160);

// 3D bevel + camera + light + material
var tdf = shape.ThreeDFormat;
tdf.BevelTop.BevelType = BevelPresetType.Circle;
tdf.BevelTop.Width = 10;
tdf.BevelTop.Height = 5;
tdf.Camera.CameraType = CameraPresetType.PerspectiveAbove;
tdf.LightRig.LightType = LightRigPresetType.Balanced;
tdf.LightRig.Direction = LightingDirection.Top;
tdf.Material = MaterialPresetType.Metal;
tdf.Depth = 20;

prs.Save("metal-button.pptx", SaveFormat.Pptx);

Kombinovanje efekata na istom obliku

Senka i 3D formatiranje mogu koegzistirati na jednom obliku, omogućavajući polirane “card” dizajne:

using Aspose.Slides.Foss;

using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(
    ShapeType.RoundCornerRectangle, 120, 120, 360, 150
);
shape.AddTextFrame("Premium Card");

// Fill
shape.FillFormat.FillType = FillType.Solid;
shape.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 30, 80, 180);

// 3D bevel
var tdf = shape.ThreeDFormat;
tdf.BevelTop.BevelType = BevelPresetType.Circle;
tdf.BevelTop.Width = 8;
tdf.Camera.CameraType = CameraPresetType.PerspectiveAbove;
tdf.Material = MaterialPresetType.Plastic;

// Drop shadow
var ef = shape.EffectFormat;
ef.EnableOuterShadowEffect();
ef.OuterShadowEffect.BlurRadius = 14;
ef.OuterShadowEffect.Direction = 270;
ef.OuterShadowEffect.Distance = 8;
ef.OuterShadowEffect.ShadowColor.Color = Color.FromArgb(70, 0, 0, 0);

prs.Save("premium-card.pptx", SaveFormat.Pptx);

Instalacija

dotnet add package Aspose.Slides.Foss

Bez instalacije Office-a, bez licenci, bez mrežnih poziva; sva obrada se odvija lokalno.


Povezani resursi