`

C# 在PPT幻灯片中绘制图形

阅读更多

概述

本篇文章将介绍C#在PPT幻灯片中操作形状(shape)的方法。这里主要涉及常规形状,如带箭头的线条,矩形、圆形、三角形、多边形、不规则形状等。下面的示例中,可以通过绘制形状,并设置相应格式等。示例包含以下要点:

  • 绘制形状
  • 用图片填充形状
  • 在形状中添加文字
  • 设置形状单色、渐变色填充
  • 设置形状阴影效果、光边效果
  • 组合多个形状为一个
  • 将形状保存为图片

 

工具

下载安装后,注意在程序中添加引用Spire.Presentation.dll到程序,dll文件可在安装路径下的Bin文件夹中获取。


示例代码(供参考)

【示例1】绘制形状

 

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

namespace DrawShape_PPT
{
    class Program
    {
        static void Main(string[] args)
        {
            //新建一个幻灯片文档,并指定幻灯片大小
            Presentation ppt = new Presentation();
            ppt.SlideSize.Type = SlideSizeType.Screen16x9;

            //获取第一张幻灯片
            ISlide slide = ppt.Slides[0];

            //添加一个云朵形状,并填充渐变颜色
            IAutoShape shape1 = slide.Shapes.AppendShape(ShapeType.CalloutCloud, new RectangleF(160, 50, 200, 80));
            shape1.Fill.FillType = FillFormatType.Gradient;
            shape1.Fill.Gradient.GradientStops.Append(0, Color.Blue);
            shape1.Fill.Gradient.GradientStops.Append(1, Color.Azure);
            shape1.Line.FillType = FillFormatType.None;

            //在形状中绘制文本,并设置字体、字号、字体颜色等
            shape1.AppendTextFrame("HOW??");
            TextRange textRange = (shape1 as IAutoShape).TextFrame.TextRange;
            textRange.FontHeight = 13;
            textRange.LatinFont = new TextFont("Arial");
            textRange.Fill.FillType = FillFormatType.Solid;
            textRange.Fill.SolidColor.Color = Color.White;

            //添加一个椭圆,并用图片填充形状
            IAutoShape shape2 = slide.Shapes.AppendShape(ShapeType.Ellipse, new RectangleF(50, 130, 150, 250));
            string picPath = "sk.png"; 
            shape2.Fill.FillType = FillFormatType.Picture;
            shape2.Fill.PictureFill.Picture.Url = picPath;
            shape2.Fill.PictureFill.FillType = PictureFillType.Stretch;
            shape2.Line.FillType = FillFormatType.None;

            //添加一个三角形,填充颜色并设置形状边框样式
            IAutoShape shape3 = slide.Shapes.AppendShape(ShapeType.Triangle, new RectangleF(480, 180, 100, 130));
            shape3.Fill.FillType = FillFormatType.Solid;
            shape3.Fill.SolidColor.Color = Color.Wheat;
            shape3.Line.Width = 3;
            shape3.Line.DashStyle = LineDashStyleType.Dash;
            shape3.ShapeStyle.LineColor.Color = Color.Red;

            //设置形状阴影效果
            PresetShadow presetShadow = new PresetShadow();
            presetShadow.Preset = PresetShadowValue.BackRightPerspective;
            presetShadow.ColorFormat.Color = Color.LightGray;
            shape3.EffectDag.PresetShadowEffect = presetShadow;
         
            //添加一个带箭头的直线
            IAutoShape shape4 = slide.Shapes.AppendShape(ShapeType.Line, new RectangleF(660, 200, 100, 100));
            shape4.ShapeStyle.LineColor.Color = Color.Red;
            shape4.Line.LineEndType = LineEndType.StealthArrow;
            shape4.Rotation = -90;//设置形状旋转角度

            //添加一个圆形
            IAutoShape shape5 = slide.Shapes.AppendShape(ShapeType.Ellipse, new RectangleF(289, 166, 120, 120));
            shape5.Fill.FillType = FillFormatType.Solid;
            shape5.Fill.SolidColor.Color = Color.White;
            shape5.Line.FillType = FillFormatType.Solid;
            shape5.Line.SolidFillColor.Color = Color.Red;

            //添加一个五角星形状
            IAutoShape shape6 = slide.Shapes.AppendShape(ShapeType.FivePointedStar, new RectangleF(300, 170, 100, 100));
            shape6.Fill.FillType = FillFormatType.Solid;
            shape6.Fill.SolidColor.Color = Color.Orange;
            shape6.Line.FillType = FillFormatType.None;
            //设置五角星形状的光边效果
            GlowEffect glow = new GlowEffect();
            glow.ColorFormat.Color = Color.Yellow;
            glow.Radius = 7.0;
            shape6.EffectDag.GlowEffect = glow;
            
            //将shape5和shape6两个形状组合
            ArrayList list = new ArrayList();
            list.Add(shape5);
            list.Add(shape6);
            ppt.Slides[0].GroupShapes(list);

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

 
形状添加效果:

 



 

【示例2】将形状保存为图片

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

namespace SaveShapesAsImgs_PPT
{
    class Program
    {
        static void Main(string[] args)
        {
            //实例化Presentation类的对象,并加载测试文档
            Presentation ppt = new Presentation();
            ppt.LoadFromFile("test.pptx");

            //遍历第一张幻灯片中的所有图形
            for (int i = 0; i < ppt.Slides[0].Shapes.Count; i++)
            {
                //获取幻灯片中的图形,并保存为.png格式的图片
                Image image = ppt.Slides[0].Shapes.SaveAsImage(i);
                image.Save(String.Format("Picture-{0}.png", i), System.Drawing.Imaging.ImageFormat.Png);
            }

        }
    }
}

 



 

 

(本文完)

 

转载请注明出处。

  • 大小: 25.2 KB
  • 大小: 119.8 KB
  • 大小: 59.7 KB
0
0
分享到:
评论

相关推荐

    C#遥控PPT幻灯片

    本教程将聚焦于如何利用C#与Visual Studio 2010(VS2010)来实现对PowerPoint(PPT)幻灯片的远程控制,包括翻页功能,即上一页和下一页的切换。这样的功能对于演示文稿的自动化和远程操作非常有用,例如在线会议或...

    C# 课件 ppt 幻灯片.rar

    此"C#课件ppt幻灯片"压缩包文件显然是为教学或自我学习C#语言设计的一套教程资源。下面将详细阐述C#语言的关键知识点。 1. **基础语法**: C#的基础包括变量、数据类型、常量、运算符、流程控制语句(如if-else,for...

    C#自动播放PPT

    在C#中,我们可以通过COM对象来创建和控制PowerPoint实例,如打开PPT文件、设置幻灯片的播放速度、自动播放等。 以下是实现C#自动播放PPT的关键步骤: 1. 引用Microsoft.Office.Interop.PowerPoint库:在项目中...

    C#WinForm幻灯片

    在本文中,我们将深入探讨如何使用C# WinForm来创建一个具有动态图片播放效果的幻灯片程序。这个程序利用了Windows API来实现各种图片显示特效,如从左向右、从右向左以及从中间向四周的过渡效果。下面我们将详细...

    C# 生成ppt PPt C# 生成ppt PPt

    该方法用于在幻灯片上添加一个画布区域,方便后续在其上绘制其他元素。 #### 插入多媒体 ```csharp public static void InsertMedia(PowerPoint._Slide slide, string fileName, float left, float top, float ...

    C#图片循环幻灯片播放

    在本文中,我们将深入探讨如何使用C# WinForms来创建一个循环的图片幻灯片播放器。这个项目是在Visual Studio 2013环境下构建的,主要涉及C#编程语言和图片处理。我们将在Pic文件夹中存放图片,并且允许用户根据需求...

    C# winform 图片幻灯片方式切换

    在本文中,我们将深入探讨如何使用C# WinForm来实现图片的幻灯片方式切换,这对于产品展示或任何需要连续显示图像的场景都非常有用。C# WinForm是.NET Framework的一部分,提供了一个强大的平台来创建桌面应用程序,...

    c# 操作 PPT,动态生成PPT

    在C#编程环境中,操作PowerPoint来动态生成PPT是一项常见的任务,这主要涉及到Microsoft Office Interop库的应用。本文将详细讲解如何利用C#来创建、编辑和基于模板生成PPT,以及涉及到的关键技术和步骤。 首先,...

    如何使用C#操作幻灯片

    在本文中,我们将探讨如何使用C#编程语言来操作PowerPoint幻灯片,实现类似遥控翻页的效果。首先,我们需要了解C#与Office Interop组件的交互,这使得我们可以访问和控制Office应用程序,如PowerPoint。 1. **获取...

    C#生成PPT的2种方法

    4. 插入图片:在幻灯片中插入图片,可以通过`Slide.Shapes.AddPicture()`方法,传入图片路径和相关设置。 5. 自定义幻灯片布局:通过`Slide.CustomLayout`属性,可以调整幻灯片的布局以适应内容。 6. 保存和关闭:...

    c#动态播放幻灯片,分享学习~

    在C#编程中,动态播放幻灯片是一个常见的需求,特别是在开发演示文稿软件或进行数据展示时。本文将深入探讨如何使用C#实现这一功能,主要基于描述中提到的实例——“实例84 如何动态创建播放幻灯片”。 首先,C#中...

    C#合并powerpoint文件

    2. **获取幻灯片**:在每个源文件中,幻灯片都存储在`/ppt/slides`目录下的`slide{slideId}.xml`文件中。我们可以遍历这些文件,提取出每张幻灯片的内容。 3. **创建目标文件包**:为合并后的文件创建一个新的包,...

    C#的GDI+绘制图形分层拖放操作源码

    在本文中,我们将深入探讨C#中的GDI+技术,特别是在绘制图形方面,特别是如何实现分层、拖放、缩放以及填充等高级功能。GDI+是.NET框架中的一个核心部分,它提供了丰富的图形绘制功能,使得程序员能够创建出交互式且...

    C#二维三维图形绘制工程实例宝典

    这部分内容将引导读者进入三维图形的世界,讲解三维空间中图形的绘制、变换和渲染技术。可能包含对三维坐标系统、光照模型、纹理映射、阴影生成、视图变换等方面知识的介绍,使得读者能够编写出能够生成复杂三维场景...

    C#二维三维图形绘制 工程实例宝典

    《C#二维三维图形绘制 工程实例宝典》是一本深入探讨C#在图形绘制领域的专业书籍,主要涵盖了从二维到三维图形的创建、编辑和应用。这本书以丰富的工程实例为引导,帮助读者理解并掌握C#在图形编程中的核心技术和...

    c# 操作ppt 源码

    `c#ppt操作.txt`文件可能是更详细的代码示例,它可能包括了上述所有操作的完整实现,也可能包含了一些特定功能的处理,如动画设置、幻灯片的复制或删除等。 总之,C#操作PPT的核心在于理解和使用`Microsoft.Office....

    C#绘制图形,绘制一个扇形

    在C#编程环境中,我们可以利用GDI+(Graphics Device Interface Plus)库来绘制各种图形,包括扇形。GDI+是.NET Framework的一部分,提供了一系列的类和方法,用于创建和控制图形。本篇将深入探讨如何使用C#绘制扇形...

    C#二维三维图形绘制工程实例宝典光盘(源码)

    3D图形绘制在C#中通常涉及DirectX或者OpenGL库,虽然.NET Framework并不直接支持这些API,但可以通过P/Invoke调用来使用。此外,Unity引擎是C#进行3D开发的常用工具,它内置了强大的3D渲染和物理引擎。在提供的实例...

Global site tag (gtag.js) - Google Analytics