使用 C# 在 PowerPoint 中应用 3D 效果

PowerPoint 演示文稿中的 3D 效果使内容更具吸引力。使用 3D 文本或形状,您可以增强交互性并吸引观众的注意力。在 .NET 应用程序中处理 PowerPoint 自动化时,您可能需要为演示文稿添加 3D 效果。为此,本文介绍了如何在 C# 中应用 PowerPoint PPT 中的 3D 效果。

.NET API 在 PowerPoint 中应用 3D 效果

Aspose.Slides for .NET 是一个了不起的 API,它提供了一系列功能来实现 PowerPoint 自动化。使用 API,您可以无缝地创建和操作演示文稿。我们将使用此 API 在 PowerPoint 演示文稿中应用 3D 效果。您可以 下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.Slides.NET 

用 C# 在 PowerPoint 中创建 3D 文本

以下是使用 C# 在 PowerPoint PPT 中创建 3D 文本片段的步骤。

以下代码示例演示如何在 PowerPoint 中使用 C# 创建 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;

    // 设置“Arch Up”艺术字变换效果
    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 形状

与文本类似,您可以将 3D 效果应用于 PowerPoint 演示文稿中的形状。以下是使用 C# 在 PowerPoint 中创建 3D 形状的步骤。

以下代码示例演示如何使用 C# 将 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;

    // 应用 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# 中将 3D 效果应用于 PowerPoint 中的图像

Aspose.Slides for .NET 还允许您将 3D 效果应用于图像。以下是在 C# 中执行此操作的步骤。

以下是使用 C# 将 3D 效果应用于 PPT 中的图像的步骤。

// 创建演示文稿
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# 中将 3D 效果应用于 PowerPoint 中的图像

获得免费许可证

您可以获得 免费临时许可证 以使用 Aspose.Slides for .NET,而不受评估限制。

结论

在本文中,您学习了如何使用 C# 在 PowerPoint 演示文稿中应用 3D 效果。我们已经介绍了如何创建 3D 文本或形状并将 3D 效果应用于 PPT 或 PPTX 演示文稿中的图像。如果您想了解更多关于 Aspose.Slides for .NET 的信息,您可以访问 文档。此外,您可以将您的查询发布到我们的 论坛

也可以看看