Aspose.Slides FOSS for .NET を使用すると、Microsoft Office や API キーを使用せずに、C# だけで PowerPoint のシェイプにプロフェッショナル品質のビジュアルエフェクトを適用できます。この投稿では、ライブラリで利用可能な塗りシステム、2D エフェクト、3D フォーマットを実演します。


フィルシステム

すべての形状には、その内部の塗り方を制御するFillFormatがあります。5つの塗りタイプは、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);

線形グラデーション塗りつぶし

グラデーション ストップを使用すると、形状全体で 1 つの色から別の色へブレンドできます。

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 ビジュアルエフェクト

外側ドロップシャドウ

任意のシェイプに半透明のドロップシャドウを適用する:

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 フォーマット

ベベルとマテリアル

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フォーマットは単一のシェイプ上で共存でき、洗練された「カード」デザインを実現します:

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 のインストール不要、ライセンスキー不要、ネットワーク呼び出しなし;すべての処理はローカルで行われます。


関連リソース