当前位置:首页 » PHP技术

C# 设置PPT文字/图片阴影效果

2018-10-25 14:22 本站整理 浏览(1)

概述

我们进行PPT幻灯片编辑时,可以通过设置文字或图片的阴影效果,来使幻灯片内容的呈现效果更为立体化,给人视觉上的立体感。Spire.Presentation for .NET支持图片、文字阴影效果。本文将介绍通过C#来设置PPT中文字或图片阴影效果的方法。

示例要点:

  • 设置PPT文字阴影效果
  • 设置PPT图片阴影效果

工具

 

安装后,注意在编辑代码时,添加引用Spire.Presentation.dll,dll文件可在安装路径下的Bin文件夹下获取。

 

C# 示例代码

【示例1】设置PPT文字阴影效果

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

namespace ShadowforText_PPT
{
    class Program
    {
        static void Main(string[] args)
        {
            //实例化Presentation类的对象,获取第一张幻灯片
            Presentation presentation = new Presentation();
            ISlide slide = presentation.Slides[0];

            //在幻灯片指定位置绘制指定大小的矩形形状,并设置填形状填充
            IAutoShape shape = slide.Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(10, 10, 700,520));
            shape.ShapeStyle.LineColor.Color = Color.White;
            string picPath = "gf.png";
            shape.Fill.FillType = FillFormatType.Picture;
            shape.Fill.PictureFill.Picture.Url = picPath;
            shape.Fill.PictureFill.FillType = PictureFillType.Stretch;
            //shape.Fill.FillType = Spire.Presentation.Drawing.FillFormatType.Picture;

            //绘制文本内容到形状,并设置文本格式
            shape.AppendTextFrame(" 江南逢李龟年\n 杜甫 \n 岐王宅里寻常见,崔九堂前几度闻。\n 正是江南好风景,落花时节又逢君。");
            shape.TextFrame.Paragraphs[0].TextRanges[0].LatinFont = new TextFont("隶书");
            shape.TextFrame.Paragraphs[0].TextRanges[0].Fill.FillType = FillFormatType.Solid;
            shape.TextFrame.Paragraphs[0].TextRanges[0].Fill.SolidColor.Color = Color.Black;
            shape.TextFrame.Paragraphs[0].TextRanges[0].FontHeight = 38;

            //实例化OuterShadowEffect类的对象,设置文字阴影效果
            Spire.Presentation.Drawing.OuterShadowEffect Shadow = new Spire.Presentation.Drawing.OuterShadowEffect();
            //Spire.Presentation.Drawing.InnerShadowEffect Shadow = new Spire.Presentation.Drawing.InnerShadowEffect();
            Shadow.BlurRadius = 0;
            Shadow.Direction = 50;
            Shadow.Distance = 10;
            Shadow.ColorFormat.Color = Color.Gray;
            shape.TextFrame.TextRange.EffectDag.OuterShadowEffect = Shadow;
            //shape.TextFrame.TextRange.EffectDag.InnerShadowEffect = Shadow;

            //保存文档并打开
            presentation.SaveToFile("result.pptx", FileFormat.Pptx2010);
            System.Diagnostics.Process.Start("result.pptx");
        }
    }
}

 

PPT文字阴影添加效果:

 

【示例2】设置PPT图片阴影效果

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

namespace ShadowforImg_PPT
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Presentation实例,并获取第一张幻灯片
            Presentation ppt = new Presentation();
            ISlide slide = ppt.Slides[0];

            //获取图片地址及长宽
            string imagePath = "car.png";
            Image image = Image.FromFile(imagePath);
            float width = (float)image.Width / 2;
            float height = (float)image.Height / 2;

            //将图片添加至指定位置
            RectangleF rect = new RectangleF(300, 80, width, height);
            IAutoShape shape = slide.Shapes.AppendShape(ShapeType.Rectangle, rect);
            shape.Fill.FillType = FillFormatType.Picture;
            shape.Fill.PictureFill.Picture.Url = imagePath;
            shape.Fill.PictureFill.FillType = PictureFillType.Stretch;
            shape.Line.FillType = FillFormatType.None;

            //在不同的位置再次添加图片
            rect = new RectangleF(50, 250, width, height);
            shape = slide.Shapes.AppendShape(ShapeType.Rectangle, rect);
            shape.Fill.FillType = FillFormatType.Picture;
            shape.Fill.PictureFill.Picture.Url = imagePath;
            shape.Fill.PictureFill.FillType = PictureFillType.Stretch;
            shape.Line.FillType = FillFormatType.None;

            //实例化InnerShadowEffect类的对象,创建阴影效果
            InnerShadowEffect innerShadow = new InnerShadowEffect();
            innerShadow.BlurRadius = 25;
            innerShadow.Direction = 0;
            innerShadow.Distance = 5;
            innerShadow.ColorFormat.Color = Color.Black;

            //在第二张图片上应用阴影效果
            shape.EffectDag.InnerShadowEffect = innerShadow;

            //保存文档
            ppt.SaveToFile("ImageShadow.pptx", FileFormat.Pptx2010);
            System.Diagnostics.Process.Start("ImageShadow.pptx");
        }
    }
}

 

图片阴影效果:


 

(本文完)