1

我正在尝试使用 aspose.slides以编程方式将斜角 3d 效果添加到形状中,但它似乎不起作用。

奇怪的是,当我实际进入 powerpoint 并单击“格式化形状”时,似乎我在下面设置的所有设置都已设置,但我没有看到任何 3d 效果(见下图)。如果,一旦在 powerpoint 中,我单击任何设置(甚至重新单击已经设置的设置,例如 BevelTop = circle,那么它确实会在该点生效。

我在下面做错了吗?

我附上了一张图片来帮助说明这个问题。

在此处输入图像描述

左边是我试图用我的代码创建的内容,图片的右侧是实际显示的内容。这是我下面的代码

 IShape shape = slide.Shapes.AddAutoShape(ShapeType.Ellipse, 30, 30, 13, 13);
 shape.FillFormat.FillType = FillType.Solid;
  shape.FillFormat.SolidFillColor.Color = GetGreenColor();
 ILineFillFormat fillFormat = shape.LineFormat.Fillformat;
 fillformat.FillType = FillType.Solid
 fillFormat.SolidFillColor.Color = GetOrangeColor();
 shape.LineFormat.Width = 2.0;
 shape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle;
 shape.ThreeDFormat.BevelTop.Height = 6;
 shape.ThreeDFormat.BevelTop.Width = 6;

请确认我是否遗漏了什么或做错了什么?

4

2 回答 2

2

我使用了您共享的示例代码并观察了生成的演示文稿。形状的 3D 属性在属性中设置,但不会在视觉上反映出来,除非它从属性中手动更新一次。这似乎是 Aspose.Slides 中的一个问题,我建议您在这方面咨询 Aspose.Slides 支持论坛,以便为您记录问题请求。

www.aspose.com/community/forums/aspose.slides-product-family/109/showforum.aspx

注意:我是 Aspose 的支持开发人员/布道者。

于 2015-10-12T05:36:31.587 回答
2

您可以使用Aspose.Slides for .NET正确地将 3D 斜角效果添加到形状,如下所示:

using (var presentation = new Presentation())
{
    ISlide slide = presentation.Slides[0];

    IShape shape = slide.Shapes.AddAutoShape(ShapeType.Ellipse, 100, 100, 50, 50);
    shape.FillFormat.FillType = FillType.Solid;
    shape.FillFormat.SolidFillColor.Color = Color.Green;

    ILineFillFormat lineFillFormat = shape.LineFormat.FillFormat;
    lineFillFormat.FillType = FillType.Solid;
    lineFillFormat.SolidFillColor.Color = Color.Orange;
    shape.LineFormat.Width = 2.0;

    shape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle;
    shape.ThreeDFormat.BevelTop.Height = 6;
    shape.ThreeDFormat.BevelTop.Width = 6;

    //Add Camera, Light and Material
    shape.ThreeDFormat.Camera.CameraType = CameraPresetType.OrthographicFront;
    shape.ThreeDFormat.LightRig.LightType = LightRigPresetType.ThreePt;
    shape.ThreeDFormat.Material = MaterialPresetType.WarmMatte;

    presentation.Save("bevel.pptx", SaveFormat.Pptx);
}

免责声明:我为 Aspose 工作

于 2021-09-03T14:30:22.593 回答