Trabalhar com efeitos 3D e efeitos visuais Aspose.Slides FOSS para .NET
Este guia mostra como aplicar efeitos visuais e formatação 3D a formas em apresentações do PowerPoint usando Aspose.Slides FOSS para .NET. Cada forma expõe dois objetos de formatamento:
EffectFormat(shape.EffectFormat): Efeitos visuais 2D sombra, brilho, borda macia, desfoque, reflexãoThreeDFormat(shape.ThreeDFormat): aparência 3D bisel, projeção de câmera, plataforma luminosa, material, profundidade de extrusão
Ambos os objetos de formatação persistem através dos ciclos de armazenamento/recarregamento.
Efeitos visuais (Formatação de efeitos)
Sombra de queda externa
Chama-me . ef.EnableOuterShadowEffect() para ativar a sombra externa, em seguida, definir BlurRadius, Direction, Distance, e ShadowColor:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 300, 120);
shape.AddTextFrame("Shadowed Text");
var ef = shape.EffectFormat;
ef.EnableOuterShadowEffect();
ef.OuterShadowEffect.BlurRadius = 10; // softness in points
ef.OuterShadowEffect.Direction = 315; // angle: 315 = upper-left cast
ef.OuterShadowEffect.Distance = 8; // offset in points
ef.OuterShadowEffect.ShadowColor.Color = Color.FromArgb(128, 0, 0, 0); // semi-transparent black
prs.Save("shadow.pptx", SaveFormat.Pptx);Comum Direction valores: 0 - Certo, não., 45 = inferior direita, 90 = para baixo, 270 = para cima, 315 - A esquerda.
Efeito de brilho
Chama-me . ef.EnableGlowEffect() para adicionar um brilho colorido em torno da forma, então definir Radius e a) Color.Color:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Ellipse, 150, 100, 200, 200);
var ef = shape.EffectFormat;
ef.EnableGlowEffect();
ef.GlowEffect.Radius = 15;
ef.GlowEffect.Color.Color = Color.Gold;
prs.Save("glow.pptx", SaveFormat.Pptx);Bordas macias (bordas com penas)
Chama-me . ef.EnableSoftEdgeEffect() para adicionar uma borda emplumada ao redor da forma, então definir Radius para controlar a distância das penas em pontos:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 350, 180);
var ef = shape.EffectFormat;
ef.EnableSoftEdgeEffect();
ef.SoftEdgeEffect.Radius = 12; // feather radius in points
prs.Save("soft-edge.pptx", SaveFormat.Pptx);Desfoque
Chama-me . shape.EffectFormat.SetBlurEffect() com um raio de desfoque e uma grow bandeira para aplicar um efeito de desfoque à forma:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 350, 180);
shape.EffectFormat.SetBlurEffect(8, true);
prs.Save("blur.pptx", SaveFormat.Pptx);Verificação e eliminação de efeitos
Verificação ef.IsNoEffects para detectar se qualquer efeito está ativo, em seguida, chamar DisableOuterShadowEffect() ou a) DisableGlowEffect() para eliminar efeitos específicos:
using Aspose.Slides.Foss;
using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 200, 100);
var ef = shape.EffectFormat;
ef.EnableOuterShadowEffect();
ef.EnableGlowEffect();
Console.WriteLine($"Has effects: {!ef.IsNoEffects}"); // True
ef.DisableOuterShadowEffect();
ef.DisableGlowEffect();
Console.WriteLine($"Has effects: {!ef.IsNoEffects}"); // False3D Formatting (ThreeDFormat)
Efeito de tremor
Set (s) tdf.BevelTop.BevelType a uma BevelPresetType valor e configuração Width e a) Height para aplicar uma base na face superior da forma:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 150, 150, 250, 120);
shape.AddTextFrame("3D Button");
var tdf = shape.ThreeDFormat;
tdf.BevelTop.BevelType = BevelPresetType.Circle;
tdf.BevelTop.Width = 12;
tdf.BevelTop.Height = 6;
prs.Save("bevel.pptx", SaveFormat.Pptx);Valores de tipo BevelPreset: Circle, RelaxedInset, CoolSlant, Divot, Riblet, HardEdge, Slope, Convex
Preconfigurado da câmera
Set (s) tdf.Camera.CameraType a uma CameraPresetType valor para alterar o ângulo de projecção aplicado à forma 3D:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 150, 150, 250, 120);
var tdf = shape.ThreeDFormat;
tdf.BevelTop.BevelType = BevelPresetType.Circle;
tdf.BevelTop.Width = 10;
tdf.Camera.CameraType = CameraPresetType.PerspectiveAbove;
prs.Save("camera.pptx", SaveFormat.Pptx);Equipamento e Material de Iluminação
Set (s) tdf.LightRig.LightType e a) tdf.LightRig.Direction para controlar como a luz cai sobre a forma, em seguida, definir tdf.Material a um dos Estados-Membros. MaterialPresetType valores:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 150, 150, 250, 120);
shape.AddTextFrame("Metal Button");
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("3d-metal.pptx", SaveFormat.Pptx);Valores de MaterialPresetType: Standard, Warm, Cool, Plastic, Metal, Matte, WireFrame
Combinação de efeitos 2D e 3D
Pode aplicar as duas. EffectFormat e a) ThreeDFormat com a mesma forma:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.RoundCornerRectangle, 150, 150, 300, 120);
shape.AddTextFrame("Premium Card");
// Solid 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 = 12;
ef.OuterShadowEffect.Direction = 270;
ef.OuterShadowEffect.Distance = 6;
ef.OuterShadowEffect.ShadowColor.Color = Color.FromArgb(80, 0, 0, 0);
prs.Save("premium-card.pptx", SaveFormat.Pptx);