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.


Система заповнень

Кожна форма має FillFormat яка контролює, як заповнюється її внутрішня частина. П’ять типів заповнення охоплюють весь спектр палітри дизайну PowerPoint.

Суцільне заповнення

Найпростіше заповнення — плоский колір з необов’язковою прозорістю:

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);

Лінійне градієнтне заповнення

Точки градієнту дозволяють плавно переходити від одного кольору до іншого по формі:

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

Зовнішня падаюча тінь

Прикріпіть напівпрозору падаючу тінь до будь‑якої форми:

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);

Ефект світіння

Кольорове сяйво навколо краю форми:

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

Фаска та матеріал

Це ThreeDFormat властивість надає будь-якій плоскій формі тривимірний вигляд. Поєднайте фаску з попередньо налаштованою камерою та матеріалом для найкращого результату:

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);

Комбінування ефектів на одній формі

Тінь і 3D‑форматування можуть співіснувати на одній формі, дозволяючи створювати відшліфовані “card” дизайни:

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);

Встановлення

dotnet add package Aspose.Slides.Foss

Без встановлення Office, без ліцензійних ключів, без мережевих викликів; вся обробка виконується локально.


Пов’язані ресурси