ThreeDFormat

ThreeDFormat 类

表示 3-D 属性。

public sealed class ThreeDFormat : PVIObject, IThreeDFormat

属性

名称描述
AsIPresentationComponent { get; }允许获取基础的 IPresentationComponent 接口。只读 IPresentationComponent
BevelBottom { get; }返回或设置底部 3D 倒角的类型。只读 IShapeBevel
BevelTop { get; }返回或设置顶部 3D 倒角的类型。只读 IShapeBevel
Camera { get; }返回或设置相机的设置。只读 ICamera
ContourColor { get; }返回或设置轮廓的颜色。只读 IColorFormat
ContourWidth { get; set; }返回或设置 3D 轮廓的宽度。读/写 Double。
Depth { get; set; }返回或设置 3D 形状的深度。读/写 Double。
ExtrusionColor { get; }返回或设置挤出的颜色。只读 IColorFormat
ExtrusionHeight { get; set; }返回或设置挤出效果的高度。读/写 Double。
LightRig { get; }返回或设置灯光的类型。只读 ILightRig
Material { get; set; }返回或设置材料的类型。读/写 MaterialPresetType

方法

名称描述
override Equals(object)与指定对象进行比较。
GetEffective()获取应用继承的有效 3-D 格式数据。
override GetHashCode()返回哈希代码。

示例

以下示例展示如何在 PowerPoint 演示文稿中添加 3D 形状。

[C#]
// 创建 Presentation 类的实例。
using (Presentation pres = new Presentation())
{
	// 使用 AddAutoShape 方法添加形状
    IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);
	// 定义 TextFrame 及其属性
    shape.TextFrame.Text = "3D";
    shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64;
	// 定义 ThreeDFormat 属性
    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;
    pres.Slides[0].GetThumbnail(2, 2).Save("sample_3d.png");
	// 保存演示文稿文件
    pres.Save("sandbox_3d.pptx", SaveFormat.Pptx);
}

以下示例展示如何在 PowerPoint 演示文稿中对 3D 形状应用渐变效果。

[C#]
// 创建 Presentation 类的实例。
using (Presentation pres = new Presentation())
{
	// 使用 AddAutoShape 方法添加形状
     IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250);
	// 定义 TextFrame 及其属性
    shape.TextFrame.Text = "3D Gradient";
    shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64;
	// 配置 FillFormat.FillType 为 FillType.Gradient 并定义渐变属性
	shape.FillFormat.FillType = FillType.Gradient;
    shape.FillFormat.GradientFormat.GradientStops.Add(0, Color.Blue);
    shape.FillFormat.GradientFormat.GradientStops.Add(100, Color.Orange);
	// 定义 ThreeDFormat 属性
    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;
    pres.Slides[0].GetThumbnail(2, 2).Save("sample_3d.png");
	// 保存演示文稿文件
    pres.Save("sandbox_3d.pptx", SaveFormat.Pptx);
}

以下示例展示如何在文本上应用 3D 效果。创建 3D 文本可以使用 WordArt 变换效果。

[C#]
// 创建 Presentation 类的实例。
using (Presentation pres = new Presentation())
{
	// 使用 AddAutoShape 方法添加形状
     IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250);
	// 定义 TextFrame 及其属性
    shape.TextFrame.Text = "3D Text";
	// 配置 FillFormat.FillType 为 FillType.NoFill
	shape.FillFormat.FillType = FillType.NoFill;
    shape.LineFormat.FillFormat.FillType = FillType.NoFill;
	// 配置 TextFrame 的 Portion 并设置 PortionFormat 的属性
	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" WordArt 变换效果
    textFrame.TextFrameFormat.Transform = TextShapeType.ArchUp;
	// 定义 ITextFrame 的 ThreeDFormat 属性
	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;
    pres.Slides[0].GetThumbnail(2, 2).Save("text3d.png");
	// 保存演示文稿文件
     pres.Save("text3d.pptx", SaveFormat.Pptx);
}

另请参阅