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.
Il Sistema di Riempimento
Ogni forma ha un FillFormat che controlla come viene dipinto il suo interno. I cinque tipi di riempimento coprono l’intera gamma della palette di design di PowerPoint.
Riempimento Solido
Il riempimento più semplice, un colore uniforme con trasparenza opzionale:
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);
Riempimento a Gradiente Lineare
Le fermate del gradiente ti permettono di sfumare da un colore all’altro attraverso la forma:
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
Ombra Esterna a Caduta
Allega un’ombra a caduta semitrasparente a qualsiasi forma:
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);
Effetto Bagliore
Un alone colorato attorno al bordo della forma:
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
Smusso e Materiale
Il ThreeDFormat la proprietà conferisce a qualsiasi forma piatta un aspetto tridimensionale. Combina un bevel con un camera preset e un material per il risultato più ricco:
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);
Combinare gli effetti sulla stessa forma
Ombra e formattazione 3D possono coesistere su una singola forma, consentendo design di “card” raffinati:
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);
Installazione
dotnet add package Aspose.Slides.Foss
Nessuna installazione di Office, nessuna chiave di licenza, nessuna chiamata di rete; tutta l’elaborazione avviene localmente.