概述
本篇文章将介绍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); } } } }
(本文完)
转载请注明出处。
相关推荐
本教程将聚焦于如何利用C#与Visual Studio 2010(VS2010)来实现对PowerPoint(PPT)幻灯片的远程控制,包括翻页功能,即上一页和下一页的切换。这样的功能对于演示文稿的自动化和远程操作非常有用,例如在线会议或...
此"C#课件ppt幻灯片"压缩包文件显然是为教学或自我学习C#语言设计的一套教程资源。下面将详细阐述C#语言的关键知识点。 1. **基础语法**: C#的基础包括变量、数据类型、常量、运算符、流程控制语句(如if-else,for...
在本文中,我们将深入探讨如何使用C# WinForm来创建一个具有动态图片播放效果的幻灯片程序。这个程序利用了Windows API来实现各种图片显示特效,如从左向右、从右向左以及从中间向四周的过渡效果。下面我们将详细...
该方法用于在幻灯片上添加一个画布区域,方便后续在其上绘制其他元素。 #### 插入多媒体 ```csharp public static void InsertMedia(PowerPoint._Slide slide, string fileName, float left, float top, float ...
在本文中,我们将深入探讨如何使用C# WinForms来创建一个循环的图片幻灯片播放器。这个项目是在Visual Studio 2013环境下构建的,主要涉及C#编程语言和图片处理。我们将在Pic文件夹中存放图片,并且允许用户根据需求...
在本文中,我们将深入探讨如何使用C# WinForm来实现图片的幻灯片方式切换,这对于产品展示或任何需要连续显示图像的场景都非常有用。C# WinForm是.NET Framework的一部分,提供了一个强大的平台来创建桌面应用程序,...
在C#编程环境中,操作PowerPoint来动态生成PPT是一项常见的任务,这主要涉及到Microsoft Office Interop库的应用。本文将详细讲解如何利用C#来创建、编辑和基于模板生成PPT,以及涉及到的关键技术和步骤。 首先,...
在本文中,我们将探讨如何使用C#编程语言来操作PowerPoint幻灯片,实现类似遥控翻页的效果。首先,我们需要了解C#与Office Interop组件的交互,这使得我们可以访问和控制Office应用程序,如PowerPoint。 1. **获取...
4. 插入图片:在幻灯片中插入图片,可以通过`Slide.Shapes.AddPicture()`方法,传入图片路径和相关设置。 5. 自定义幻灯片布局:通过`Slide.CustomLayout`属性,可以调整幻灯片的布局以适应内容。 6. 保存和关闭:...
在C#编程中,动态播放幻灯片是一个常见的需求,特别是在开发演示文稿软件或进行数据展示时。本文将深入探讨如何使用C#实现这一功能,主要基于描述中提到的实例——“实例84 如何动态创建播放幻灯片”。 首先,C#中...
2. **获取幻灯片**:在每个源文件中,幻灯片都存储在`/ppt/slides`目录下的`slide{slideId}.xml`文件中。我们可以遍历这些文件,提取出每张幻灯片的内容。 3. **创建目标文件包**:为合并后的文件创建一个新的包,...
在本文中,我们将深入探讨C#中的GDI+技术,特别是在绘制图形方面,特别是如何实现分层、拖放、缩放以及填充等高级功能。GDI+是.NET框架中的一个核心部分,它提供了丰富的图形绘制功能,使得程序员能够创建出交互式且...
《C#二维三维图形绘制 工程实例宝典》是一本深入探讨C#在图形绘制领域的专业书籍,主要涵盖了从二维到三维图形的创建、编辑和应用。这本书以丰富的工程实例为引导,帮助读者理解并掌握C#在图形编程中的核心技术和...
`c#ppt操作.txt`文件可能是更详细的代码示例,它可能包括了上述所有操作的完整实现,也可能包含了一些特定功能的处理,如动画设置、幻灯片的复制或删除等。 总之,C#操作PPT的核心在于理解和使用`Microsoft.Office....
在C#编程环境中,我们可以利用GDI+(Graphics Device Interface Plus)库来绘制各种图形,包括扇形。GDI+是.NET Framework的一部分,提供了一系列的类和方法,用于创建和控制图形。本篇将深入探讨如何使用C#绘制扇形...
例如,要插入新幻灯片,我们需要操作`ppt/presentation.xml`来添加新的幻灯片引用,同时还要在`ppt/slides`目录下创建一个新的XML文件来定义幻灯片的具体内容。 以下是使用OpenXmlSDK2.0插入新幻灯片的基本步骤: ...
在标题“WPF自动播放幻灯片”中,我们关注的是一个特定的功能,即如何在WPF应用中实现一个自动播放的幻灯片展示。这种功能常见于演示文稿、教学软件或者任何需要连续展示多个图像或内容的场景。 **WPF基础** WPF是...
3D图形绘制在C#中通常涉及DirectX或者OpenGL库,虽然.NET Framework并不直接支持这些API,但可以通过P/Invoke调用来使用。此外,Unity引擎是C#进行3D开发的常用工具,它内置了强大的3D渲染和物理引擎。在提供的实例...