C# 在PPT中绘制形状(shape)
概述
本篇文章将介绍C# 在PPT幻灯片中操作形状(shape)的方法。这里主要涉及常规形状,如箭头、矩形、圆形、三角形、多边形、不规则形状等。下面的示例中,可以通过绘制形状,并设置相应格式等。示例包含以下要点:
- 绘制形状
- 用图片填充形状
- 在形状中添加文字
- 设置形状单色、渐变色填充
- 设置形状阴影效果
- 组合多个形状为一个
- 设置形状光边效果
- 将形状保存为图片
工具
- Spire.Presentation for .NET
下载安装后,注意在程序中添加引用Spire.Presentation.dll到程序,dll文件可在安装路径下的Bin文件夹中获取。
示例代码(供参考)
【示例1】绘制形状
步骤1:新建一个幻灯片
//新建一个幻灯片文档,并指定幻灯片大小 Presentation ppt = new Presentation(); ppt.SlideSize.Type = SlideSizeType.Screen16x9;
步骤2:获取第一张幻灯片
ISlide slide = ppt.Slides[0];
步骤3:添加一个云朵形状,并填充渐变色,绘入文字
//添加一个云朵形状,并填充渐变颜色 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;
步骤4:添加椭圆形状,并加载图片填充
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;
步骤5:添加三角形,并设置边框效果,阴影效果
//添加一个三角形,填充颜色并设置边框样式 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;
步骤6:添加一个带箭头的直线
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;//设置形状旋转角度
步骤7:绘制一个圆形、五角星,并设置光边效果,将拉个形状组合
//添加一个圆形 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);
步骤8:保存文档
ppt.SaveToFile("result.pptx", FileFormat.Pptx2010);
完成代码后,调试运行程序,生成文档,如下图
全部代码:
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");}} }
View Code
【示例2】将形状保存为图片
步骤1:加载测试文档
Presentation ppt = new Presentation(); ppt.LoadFromFile("test.pptx");
步骤2:将形状保存为图片
//遍历第一张幻灯片中的所有图形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);}
全部代码:
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);}}} }
View Code
(本文完)
转载请注明出处。
转载于:https://www.cnblogs.com/Yesi/p/9995150.html
C# 在PPT中绘制形状(shape)相关推荐
- java ppt 绘图,Java 在PPT中绘制图形
原标题:Java 在PPT中绘制图形 Microsoft PowerPoint可支持在幻灯片中插入各种类型的图形并且可设置图形填充.线条颜色.图形大小.位置等.下面将通过Java编程来演示在PPT中绘 ...
- PPT中绘制图形如何导入VISIO编辑
在PPT中绘制图形想要在VISIO中编辑 ①先拆分图形,然后全选,右键选择-另存为图片(S) ②这里要选择保存为矢量图.SVG格式 ③将保存的.svg图片直接拖到打开的VISIO窗口,打开 ④右键选中 ...
- WPF中的形状Shape与几何图形Geometry详解
总目录 文章目录 总目录 一.Shape(形状) 1.Shape基本信息 2.Ellipse 1.案例 2.说明 3.Rectangle 1.案例 2.说明 4.Line 1.案例 2.说明 5.Po ...
- 的标题形状工具在哪里_在PPT中如何用好形状排版
关注[新精英充电站]能力提升看得见! 刚接触PPT时,对"形状"的认识,很多人可能都会停留在作为"一个普通的页面元素"直接使用上,即只是用形状的外形来表达特定的 ...
- 图像处理控件功能演示: 在 C# 中绘制直线、圆弧、椭圆、矩形等形状
Aspose.Imaging for .NET是一个可以让开发人员可以创建.编辑.画图.转换图像的图像处库,提供了一些开发平台原有功能基础之上的一些新特性.它独立于其他应用程序, Aspose.Ima ...
- REVIT建模步骤中:绘制形状不能拾取两条参照平面的交点解决方法
REVIT建模步骤中:绘制形状不能拾取两条参照平面的交点解决方法 问题:建筑形状(如图-1)所示,当需要在斜面上或者南北立面上绘制形状时,需要设置工作平面,但是在设置好的工作平面中绘制形状时却不能拾取 ...
- 使用 OpenCV 在 Python 中检测图像中的形状
OpenCV 是一个开源库,主要用于处理图像和视频以识别形状.对象.文本等.它主要与 python 一起使用.在本文中,我们将了解如何检测图像中的形状.为此,我们需要OpenCV 的cv2.findC ...
- 计算机word画铁路,PPT中画铁路标志的图标
PPT中画铁路标志的图标 铁路标志中涉及了许多数学几何知识,本文旨在介绍如何在PPT中绘制铁路标志,希望对喜欢绘制图表的朋友有所帮助. 1.在PPT中插入一个圆,宽高为12厘米,颜色RGB(252,2 ...
- 在图像中绘制基本形状和文字
目录 一 基本形状的绘制 二 随机数 三 绘制文字 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 基本形状的绘制 本文的内容和数字图像处理的关系不大,主要是关于OpenCV提供的在图像中绘 ...
最新文章
- 如何实现报表设计中的高精度报表套打?
- 智能实验室-全能优化(Guardio) 4.96.0.850
- 图解sqlserver 2000 还原数据库的基本操作
- 从别的地方转来的 网址
- netty客户端源码
- C++学习之路 | PTA乙级—— 1039 到底买不买 (20 分)(精简)
- 随机过程及其在金融领域中的应用 第三章 习题 及 答案
- 疑似华为Mate 30系列通过3C认证:标配40W快充
- jquery +ajax 上传加预览
- oracle求当年天数与当月天数
- Java007-面向对象(多态)
- c++指定在某一线程运行_iPhone11升级iOS14运行速度测试:结果有点小惊喜
- Way to MongoDB
- 网页图片压缩优化,提高网站打开速度
- C语言基础学习教程之数据类型
- java alert 乱码_在servlet中输出JS中文乱码,servlet中alert对话框出现中文乱码的解决方法...
- cydia未能连接服务器超时,cydia添加源验证超时
- c语言编程 追赶法解方程组,追赶法解线性方程组.doc
- 一个独到程序员的深刻见解(转)
- Navicat工具中数据库导入导出