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.
Le système de remplissage
Chaque forme possède un FillFormat qui contrôle la façon dont son intérieur est peint. Les cinq types de remplissage couvrent l’ensemble de la palette de conception de PowerPoint.
Remplissage uni
Le remplissage le plus simple, une couleur unie avec transparence optionnelle :
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);
Remplissage en dégradé linéaire
Les points d’arrêt du dégradé vous permettent de passer d’une couleur à une autre à travers la forme :
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
Ombre portée externe
Attachez une ombre portée semi-transparente à n’importe quelle forme :
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);
Effet de lueur
Un halo coloré autour du bord de la forme :
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
Chanfrein et matériau
Le ThreeDFormat propriété donne à toute forme plate une apparence tridimensionnelle. Combinez un biseau avec un préréglage de caméra et un matériau pour obtenir le résultat le plus riche :
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);
Combinaison d’effets sur la même forme
L’ombre et le format 3D peuvent coexister sur une même forme, permettant des conceptions de « carte » soignées :
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);
Installation
dotnet add package Aspose.Slides.Foss
Pas d’installation d’Office, pas de clés de licence, pas d’appels réseau ; tout le traitement se fait localement.