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.
System wypełnień
Każdy kształt ma FillFormat która kontroluje, jak wypełniane jest jego wnętrze. Pięć typów wypełnienia obejmuje pełen zakres palety projektowej PowerPointa.
Jednolite wypełnienie
Najprostsze wypełnienie, jednolity kolor z opcjonalną przezroczystością:
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);
Liniowe wypełnienie gradientowe
Punkty gradientu pozwalają płynnie przechodzić od jednego koloru do drugiego w obrębie kształtu:
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
Zewnętrzny cień
Dołącz półprzezroczysty cień rzucany do dowolnego kształtu:
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);
Efekt poświaty
Kolorowa poświata wokół krawędzi kształtu:
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
Fazowanie i materiał
Ta ThreeDFormat właściwość nadaje dowolnemu płaskiemu kształtowi trójwymiarowy wygląd. Połącz fazowanie z ustawieniem kamery i materiałem, aby uzyskać najbogatszy 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);
Łączenie efektów na tym samym kształcie
Cień i formatowanie 3D mogą współistnieć na jednym kształcie, umożliwiając eleganckie projekty w stylu „karty”:
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);
Instalacja
dotnet add package Aspose.Slides.Foss
Brak instalacji Office, brak kluczy licencyjnych, brak połączeń sieciowych; całe przetwarzanie odbywa się lokalnie.