概述
本篇文章将介绍C# 在PPT幻灯片中操作形状(shape)的方法。这里主要涉及常规形状,如箭头、矩形、圆形、三角形、多边形、不规则形状等。下面的示例中,可以通过绘制形状,并设置相应格式等。示例包含以下要点:
工具
下载安装后,注意在程序中添加引用Spire.Presentation.dll到程序,dll文件可在安装路径下的Bin文件夹中获取。
示例代码(供参考)
【示例1】绘制形状
//新建一个幻灯片文档,并指定幻灯片大小 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,1)">200,1)">80)); shape1.Fill.FillType = FillFormatType.Gradient; shape1.Fill.Gradient.GradientStops.Append(0,Color.Blue); shape1.Fill.Gradient.GradientStops.Append(1 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,1)">130,1)">150,1)">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,1)">480,1)">180,1)">100,1)">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 = PresetShadow(); presetShadow.Preset = PresetShadowValue.BackRightPerspective; presetShadow.ColorFormat.Color = Color.LightGray; shape3.EffectDag.PresetShadowEffect = presetShadow;
IAutoShape shape4 = slide.Shapes.AppendShape(ShapeType.Line,1)">660,1)">100)); shape4.Shapestyle.LineColor.Color = Color.Red; shape4.Line.LineEndType = LineEndType.StealthArrow; shape4.Rotation = -90;设置形状旋转角度
步骤7:绘制一个圆形、五角星,并设置光边效果,将拉个形状组合
添加一个圆形 IAutoShape shape5 = slide.Shapes.AppendShape(ShapeType.Ellipse,1)">289,1)">166,1)">120,1)">120)); shape5.Fill.FillType = FillFormatType.solid; shape5.Fill.solidColor.Color = Color.White; shape5.Line.FillType = FillFormatType.solid; shape5.Line.solidFillColor.Color =添加一个五角星形状 IAutoShape shape6 = slide.Shapes.AppendShape(ShapeType.FivePointedStar,1)">300,1)">170,1)">)); shape6.Fill.FillType = FillFormatType.solid; shape6.Fill.solidColor.Color = Color.Orange; shape6.Line.FillType = FillFormatType.None; 设置五角星形状的光边效果 GlowEffect glow = GlowEffect(); glow.ColorFormat.Color = Color.Yellow; glow.Radius = 7.0; shape6.EffectDag.GlowEffect = glow; 将shape5和shape6两个形状组合 ArrayList list = ArrayList(); list.Add(shape5); list.Add(shape6); ppt.Slides[0].GroupShapes(list);
步骤8:保存文档
ppt.SavetoFile(result.pptx",FileFormat.Pptx2010);
全部代码:
using Spire.Presentation; Spire.Presentation.Drawing; System.Collections; System.Drawing; namespace DrawShape_PPT { class Program { static void Main(string[] args) { 新建一个幻灯片文档,并指定幻灯片大小 Presentation ppt = Presentation(); ppt.SlideSize.Type = SlideSizeType.Screen16x9; 获取第一张幻灯片 ISlide slide = ppt.Slides[]; 添加一个云朵形状,并填充渐变颜色 IAutoShape shape1 = slide.Shapes.AppendShape(ShapeType.CalloutCloud,1)">)); shape1.Fill.FillType = FillFormatType.Gradient; shape1.Fill.Gradient.GradientStops.Append(= FillFormatType.None; 在形状中绘制文本,并设置字体、字号、字体颜色等 shape1.AppendTextFrame(); TextRange textRange = (shape1 IAutoShape).TextFrame.TextRange; textRange.FontHeight = ; textRange.LatinFont = ); textRange.Fill.FillType = FillFormatType.solid; textRange.Fill.solidColor.Color = Color.White; 添加一个椭圆,并用图片填充形状 IAutoShape shape2 = slide.Shapes.AppendShape(ShapeType.Ellipse,1)">)); ; shape2.Fill.FillType = FillFormatType.Picture; shape2.Fill.PictureFill.Picture.Url = picPath; shape2.Fill.PictureFill.FillType = PictureFillType.Stretch; shape2.Line.FillType =)); shape3.Fill.FillType = FillFormatType.solid; shape3.Fill.solidColor.Color = Color.Wheat; shape3.Line.Width = ; shape3.Line.DashStyle = LineDashStyleType.Dash; shape3.Shapestyle.LineColor.Color = Color.Red; 设置形状阴影效果 PresetShadow presetShadow = PresetShadow(); presetShadow.Preset = PresetShadowValue.BackRightPerspective; presetShadow.ColorFormat.Color = Color.LightGray; shape3.EffectDag.PresetShadowEffect = presetShadow; 添加一个带箭头的直线 IAutoShape shape4 = slide.Shapes.AppendShape(ShapeType.Line,1)">)); shape4.Shapestyle.LineColor.Color = Color.Red; shape4.Line.LineEndType = LineEndType.StealthArrow; shape4.Rotation = -设置形状旋转角度 添加一个圆形 IAutoShape shape5 = slide.Shapes.AppendShape(ShapeType.Ellipse,1)">)); shape5.Fill.FillType = FillFormatType.solid; shape5.Fill.solidColor.Color = Color.White; shape5.Line.FillType = FillFormatType.solid; shape5.Line.solidFillColor.Color =添加一个五角星形状 IAutoShape shape6 = slide.Shapes.AppendShape(ShapeType.FivePointedStar,1)">)); shape6.Fill.FillType = FillFormatType.solid; shape6.Fill.solidColor.Color = Color.Orange; shape6.Line.FillType = FillFormatType.None; 设置五角星形状的光边效果 GlowEffect glow = GlowEffect(); glow.ColorFormat.Color = Color.Yellow; glow.Radius = ; shape6.EffectDag.GlowEffect = glow; 将shape5和shape6两个形状组合 ArrayList list = ArrayList(); list.Add(shape5); list.Add(shape6); ppt.Slides[].GroupShapes(list); 保存文档 ppt.SavetoFile(stem.Diagnostics.Process.Start(); } } }
【示例2】将形状保存为图片
步骤1:加载测试文档
Presentation ppt = Presentation(); ppt.LoadFromFile(test.pptx");
步骤2:将形状保存为图片
遍历第一张幻灯片中的所有图形 for (int i = 0; i < ppt.Slides[0].Shapes.Count; i++) { 获取幻灯片中的图形,并保存为.png格式的图片 Image image = ppt.Slides[].Shapes.SaveAsImage(i); image.Save(String.Format(Picture-{0}.pngstem.Drawing.Imaging.ImageFormat.Png); }
全部代码:
System; SaveShapesAsImgs_PPT { 实例化Presentation类的对象,并加载测试文档 Presentation ppt = Presentation(); ppt.LoadFromFile(); 遍历第一张幻灯片中的所有图形 ) { 获取幻灯片中的图形,并保存为.png格式的图片 Image image = ppt.Slides[].Shapes.SaveAsImage(i); image.Save(String.Format(stem.Drawing.Imaging.ImageFormat.Png); } } } }
(本文完)
转载请注明出处。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。