博客
关于我
C# PPT 为形状设置三维效果
阅读量:418 次
发布时间:2019-03-06

本文共 3331 字,大约阅读时间需要 11 分钟。

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

本篇文章,旨在介绍在使用免费的Spire.Presentation,独立创建Powerpoint文档,添加形状,并设置三维效果。感兴趣的朋友,可以从免费的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(
150
150
150
150));
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(
400
150
150
150));
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(
150
150
150
150));
            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(
400
150
150
150));
            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
");
        }
    }
}

 

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

转载地址:http://jnnkz.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(7)——MySql索引原理与使用大全
查看>>
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>
Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?
查看>>
Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
查看>>
Mysql学习总结(83)——常用的几种分布式锁:ZK分布式锁、Redis分布式锁、数据库分布式锁、基于JDK的分布式锁方案对比总结
查看>>
Mysql学习总结(84)—— Mysql的主从复制延迟问题总结
查看>>
Mysql学习总结(85)——开发人员最应该明白的数据库设计原则
查看>>
Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解
查看>>
MySQL学习笔记十七:复制特性
查看>>
Mysql学习第一课-mysql的定义及sql语句
查看>>
mysql安装卡在最后一步解决方案(附带万能安装方案)
查看>>
mysql安装和启动命令小结
查看>>
MySQL安装配置教程(非常详细),从零基础入门到精通,看完这一篇就够了
查看>>
mysql安装配置简介
查看>>
MySQL定义和变量赋值
查看>>
mysql实战01|基础架构:一条SQL查询语句是如何执行的?
查看>>
Mysql实战之数据备份
查看>>
mysql实现成绩排名
查看>>
Mysql客户端中文乱码问题解决
查看>>
mysql客户端工具使用
查看>>