zoukankan      html  css  js  c++  java
  • C# PPT 为形状设置三维效果

    在PPT中,形状是非常重要的元素。3-D形状,立体多元,给人耳目一新的感觉。在幻灯片中添加3-D效果形状,必然会为PPT的整体效果增色不少。为形状设置三维格式时,可设置棱台,轮廓线,表面效果等。

    本篇文章,旨在介绍在使用免费的Spire.Presentation,独立创建Powerpoint文档,添加形状,并设置三维效果。感兴趣的朋友,可以从E-iceblue官网下载免费的Spire.Presentation。下载完成后,请将bin文件夹的.dll添加作为引用。友情提示:使用Spire.Presentation可独立创建powerpoint文档。

    需要添加的命名空间:

    using Spire.Presentation;
    using Spire.Presentation.Drawing;
    using System.Drawing;
     

    步骤详叙:

    步骤一:创建PPT文档。

    Presentation presentation = new Presentation();

    步骤二:添加形状,设置其位置,大小并填充颜色。
    IAutoShape shape1 = presentation.Slides[0].Shapes.AppendShape(ShapeType.RightArrow, new RectangleF(150150150150));
    shape1.Fill.FillType = FillFormatType.Solid;
    shape1.Fill.SolidColor.KnownColor = KnownColors.RoyalBlue;

     

    步骤三:为该形状设置三维效果。

    ShapeThreeD Demo1 = shape1.ThreeD.ShapeThreeD;
    //设置表面效果
    Demo1.PresetMaterial = PresetMaterialType.Matte;
    //设置棱台类型,高度和宽度
    Demo1.TopBevel.PresetType = BevelPresetType.ArtDeco;
    Demo1.TopBevel.Height = 4;
    Demo1.TopBevel.Width = 12;
    //设置轮廓线类型,颜色,宽度
    Demo1.BevelColorMode = BevelColorType.Contour;
    Demo1.ContourColor.KnownColor = KnownColors.LightBlue;
    Demo1.ContourWidth = 3.5;

    步骤四:再添加一个形状作为对照。

    IAutoShape shape2 = presentation.Slides[0].Shapes.AppendShape(ShapeType.Pentagon, new RectangleF(400150150150));
    shape2.Fill.FillType = FillFormatType.Solid;
    shape2.Fill.SolidColor.KnownColor = KnownColors.LawnGreen;
    ShapeThreeD Demo2 = shape2.ThreeD.ShapeThreeD;
    Demo2.PresetMaterial = PresetMaterialType.SoftEdge;
    Demo2.TopBevel.PresetType = BevelPresetType.SoftRound;
    Demo2.TopBevel.Height = 12;
    Demo2.TopBevel.Width = 12;
    Demo2.BevelColorMode = BevelColorType.Contour;
    Demo2.ContourColor.KnownColor = KnownColors.LawnGreen;
    Demo2.ContourWidth = 5;

    步骤五:保存文档为.pptx,启动查看效果。
    presentation.SaveToFile("result.pptx", FileFormat.Pptx2010);
    System.Diagnostics.Process.Start("result.pptx");

    效果截图:

     

    完整代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Spire.Presentation;
    using Spire.Presentation.Drawing;
    using System.Drawing;

    namespace test
    {
        class Program
        {
            static void Main(string[] args)
            {
                
                Presentation presentation = new Presentation();
                IAutoShape shape1 = presentation.Slides[0].Shapes.AppendShape(ShapeType.RightArrow, new RectangleF(150150150150));
                shape1.Fill.FillType = FillFormatType.Solid;
                shape1.Fill.SolidColor.KnownColor = KnownColors.RoyalBlue;

                ShapeThreeD Demo1 = shape1.ThreeD.ShapeThreeD;
                Demo1.PresetMaterial = PresetMaterialType.Matte;
                Demo1.TopBevel.PresetType = BevelPresetType.ArtDeco;
                Demo1.TopBevel.Height = 4;
                Demo1.TopBevel.Width = 12;
                Demo1.BevelColorMode = BevelColorType.Contour;
                Demo1.ContourColor.KnownColor = KnownColors.LightBlue;
                Demo1.ContourWidth = 3.5;

                IAutoShape shape2 = presentation.Slides[0].Shapes.AppendShape(ShapeType.Pentagon, new RectangleF(400150150150));
                shape2.Fill.FillType = FillFormatType.Solid;
                shape2.Fill.SolidColor.KnownColor = KnownColors.LawnGreen;
                ShapeThreeD Demo2 = shape2.ThreeD.ShapeThreeD;
                Demo2.PresetMaterial = PresetMaterialType.SoftEdge;
                Demo2.TopBevel.PresetType = BevelPresetType.SoftRound;
                Demo2.TopBevel.Height = 12;
                Demo2.TopBevel.Width = 12;
                Demo2.BevelColorMode = BevelColorType.Contour;
                Demo2.ContourColor.KnownColor = KnownColors.LawnGreen;
                Demo2.ContourWidth = 5;

                presentation.SaveToFile("result.pptx", FileFormat.Pptx2010);
                System.Diagnostics.Process.Start("result.pptx");
            }
        }
    }

     感谢阅读,如有疑问,请留言。

  • 相关阅读:
    Spring框架中的单例Beans是线程安全的么?
    四种类型的数据节点 Znode?
    什么是 Swagger?你用 Spring Boot 实现了它吗?
    服务注册和发现是什么意思?Spring Cloud 如何实现?
    如何使用 Spring Boot 实现异常处理?
    什么是 CSRF 攻击?
    什么是 WebSockets?
    springboot整合Hbase
    java8的Supplier
    @Scope注解的作用详解
  • 原文地址:https://www.cnblogs.com/Yesi/p/4762796.html
Copyright © 2011-2022 走看看