C#を使用してPowerPointで3D効果を適用する

PowerPointプレゼンテーションの3D効果により、コンテンツがより魅力的になります。 3Dテキストまたは図形を使用すると、インタラクティブ性を高め、聴衆の注意を引くことができます。 .NETアプリケーション内からPowerPointの自動化に取り組んでいるときに、プレゼンテーションに3D効果を追加する必要がある場合があります。これを実現するために、この記事では、C#のPowerPointPPTで3D効果を適用する方法について説明します。

PowerPointで3D効果を適用するための.NET API

Aspose.Slides for .NETは、PowerPoint自動化を実装するためのさまざまな機能を提供するすばらしいAPIです。 APIを使用すると、プレゼンテーションをシームレスに作成および操作できます。このAPIを使用して、PowerPointプレゼンテーションに3D効果を適用します。 ダウンロードAPIのDLLを使用するか、NuGetを使用してインストールできます。

PM> Install-Package Aspose.Slides.NET 

C#のPowerPointで3Dテキストを作成する

以下は、C#を使用してPowerPointPPTで3Dテキストフラグメントを作成する手順です。

  • まず、Presentationクラスを使用して、新しいPPTを作成するか、既存のPPTをロードします。
  • 次に、AddAutoShape()メソッドを使用して新しい長方形を追加します。
  • 塗りつぶしの種類、テキストなどの図形のプロパティを設定します。
  • 図形内のテキストの参照をPortionオブジェクトに取得します。
  • テキスト部分にフォーマットを適用します。
  • TextFrame内部形状の参照を取得します。
  • TextFrame.TextFrameFormat.ThreeDFormatのプロパティを使用して3D効果を適用します。
  • 最後に、Presentation.Save(String, SaveFormat)メソッドを使用してプレゼンテーションを保存します。

次のコードサンプルは、C#のPowerPointで3Dテキストを作成する方法を示しています。

// プレゼンテーションを作成する
using (Presentation presentation = new Presentation())
{
    // 長方形を作成する
    IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250);
    shape.FillFormat.FillType = FillType.NoFill;
    shape.LineFormat.FillFormat.FillType = FillType.NoFill;
    shape.TextFrame.Text = "3D Text";

    // テキスト部分を取得
    Portion portion = (Portion)shape.TextFrame.Paragraphs[0].Portions[0];
    portion.PortionFormat.FillFormat.FillType = FillType.Pattern;
    portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange;
    portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White;
    portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.LargeGrid;
    shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 128;

    // テキストフレームにアクセス
    ITextFrame textFrame = shape.TextFrame;

    // 「アーチアップ」ワードアート変換効果を設定する
    textFrame.TextFrameFormat.Transform = TextShapeType.ArchUp;

    // 3D効果を適用する
    textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight = 3.5f;
    textFrame.TextFrameFormat.ThreeDFormat.Depth = 3;
    textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic;
    textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top;
    textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced;
    textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40);
    textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing;

    // プレゼンテーションを保存する
    presentation.Save("3D-Text.pptx", SaveFormat.Pptx);
}

次のスクリーンショットは、上記のコードサンプルの出力を示しています。

C#のPowerPointで3Dテキストを作成する

C#のPowerPointで3D図形を作成する

テキストと同様に、PowerPointプレゼンテーションの図形に3D効果を適用できます。以下は、C#のPowerPointで3D図形を作成する手順です。

次のコードサンプルは、C#を使用してPowerPointの図形に3D効果を適用する方法を示しています。

// プレゼンテーションを作成する
using (Presentation presentation = new Presentation())
{
    // 新しい形状を追加する
    IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // テキストを設定する
    shape.TextFrame.Text = "3D";
    shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64;

    // 3D効果を適用する
    shape.ThreeDFormat.Camera.CameraType = CameraPresetType.OrthographicFront;
    shape.ThreeDFormat.Camera.SetRotation(20, 30, 40);
    shape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Flat;
    shape.ThreeDFormat.LightRig.Direction = LightingDirection.Top;
    shape.ThreeDFormat.Material = MaterialPresetType.Flat;
    shape.ThreeDFormat.ExtrusionHeight = 100;
    shape.ThreeDFormat.ExtrusionColor.Color = Color.Blue;

    // プレゼンテーションを保存する
    presentation.Save("3D-Shape.pptx", SaveFormat.Pptx);
}

以下は、このコードを実行した後に得られる3D形状です。

C#のPowerPointで3D図形を作成する

3D形状のグラデーションを作成する

以下の手順に従って、図形にグラデーション効果を適用することもできます。

次のコードサンプルは、PowerPointの図形にグラデーション効果を適用する方法を示しています。

// プレゼンテーションを作成する
using (Presentation presentation = new Presentation())
{
    // 新しい形状を追加する
    IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // テキストを設定する
    shape.TextFrame.Text = "3D";
    shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64;

    // グラデーションを適用する
    shape.FillFormat.FillType = FillType.Gradient;
    shape.FillFormat.GradientFormat.GradientStops.Add(0, Color.Blue);
    shape.FillFormat.GradientFormat.GradientStops.Add(100, Color.LightBlue);

    // 3D効果を適用する
    shape.ThreeDFormat.Camera.CameraType = CameraPresetType.OrthographicFront;
    shape.ThreeDFormat.Camera.SetRotation(20, 30, 40);
    shape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Flat;
    shape.ThreeDFormat.LightRig.Direction = LightingDirection.Top;
    shape.ThreeDFormat.Material = MaterialPresetType.Flat;
    shape.ThreeDFormat.ExtrusionHeight = 100;
    shape.ThreeDFormat.ExtrusionColor.Color = Color.Blue;

    // プレゼンテーションを保存する
    presentation.Save("3D-Shape-Gradient.pptx", SaveFormat.Pptx);
}

以下は、グラデーション効果を適用した後の3D形状です。

PowerPointで3D形状のグラデーションを作成する

C#でPowerPointの画像に3D効果を適用する

Aspose.Slides for .NETでは、画像に3D効果を適用することもできます。以下は、C#でこの操作を実行するための手順です。

以下は、C#を使用してPPTの画像に3D効果を適用する手順です。

// プレゼンテーションを作成する
using (Presentation presentation = new Presentation())
{
    // 新しい形状を追加する
    IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // 画像を追加
    shape.FillFormat.FillType = FillType.Picture;
    shape.FillFormat.PictureFillFormat.Picture.Image = presentation.Images.AddImage(File.ReadAllBytes("tiger.bmp"));
    shape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;

    // 3D効果を適用する
    shape.ThreeDFormat.Camera.CameraType = CameraPresetType.OrthographicFront;
    shape.ThreeDFormat.Camera.SetRotation(20, 30, 40);
    shape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Flat;
    shape.ThreeDFormat.LightRig.Direction = LightingDirection.Top;
    shape.ThreeDFormat.Material = MaterialPresetType.Flat;
    shape.ThreeDFormat.ExtrusionHeight = 100;
    shape.ThreeDFormat.ExtrusionColor.Color = Color.DarkGray;

    // プレゼンテーションを保存する
    presentation.Save("3D-Image.pptx", SaveFormat.Pptx);
}

以下は、3D効果を適用した後に得られる結果の画像です。

C#でPowerPointの画像に3D効果を適用する

無料ライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにAspose.Slides for .NETを使用できます。

結論

この記事では、C#を使用してPowerPointプレゼンテーションに3D効果を適用する方法を学習しました。 3Dテキストまたは図形を作成し、PPTまたはPPTXプレゼンテーションの画像に3D効果を適用する方法について説明しました。 Aspose.Slides for .NETについて詳しく知りたい場合は、ドキュメントにアクセスしてください。また、フォーラムにクエリを投稿することもできます。

関連項目