Spire.Presentation支持操作常规图形(矩形、三角形、圆形等),智能图形(SmartArt),图表类图形(Chart)等,本文主要介绍如何在幻灯片中添加和删除常规图形。
添加图形
//新建一个PowerPoint文档
Presentation ppt = new Presentation();
ppt.SlideSize.Type = SlideSizeType.Screen16x9;
//获取第一张幻灯片
ISlide slide = ppt.Slides[0];
//添加一个矩形并填充渐变颜色
IAutoShape shape1 = slide.Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(25, 50, 300, 30));
shape1.Fill.FillType = FillFormatType.Gradient;
shape1.Fill.Gradient.GradientStops.Append(0, Color.Black);
shape1.Fill.Gradient.GradientStops.Append(1, Color.Azure);
shape1.Line.FillType = FillFormatType.None;
//在矩形中添加格式化文本
shape1.AppendTextFrame("本教程展示了如何添加图形到幻灯片");
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.Black;
//添加一个椭圆并填充图片
IAutoShape shape2 = slide.Shapes.AppendShape(ShapeType.Ellipse, new RectangleF(25, 150, 100, 100));
string picPath = @"C:\Users\jack\Desktop\flag.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(200, 150, 100, 100));
shape3.Fill.FillType = FillFormatType.Solid;
shape3.Fill.SolidColor.Color = Color.CornflowerBlue;
shape3.Line.FillType = FillFormatType.Solid;
shape3.Line.SolidFillColor.Color = Color.Black;
//添加一个带箭头的直线
IAutoShape shape4 = slide.Shapes.AppendShape(ShapeType.Line, new RectangleF(375, 150, 100, 100));
shape4.ShapeStyle.LineColor.Color = Color.Red;
shape4.Line.LineEndType = LineEndType.StealthArrow;
shape4.Rotation =-90 ;
//保存文档
ppt.SaveToFile("添加图形.pptx", FileFormat.Pptx2010);
删除图形
//初始化一个Presentation实例
Presentation ppt = new Presentation();
//加载一个PowerPoint文档
ppt.LoadFromFile("添加图形.pptx");
//获取第一张幻灯片
ISlide slide = ppt.Slides[0];
//删除幻灯片上的第三个图形
slide.Shapes.RemoveAt(2);
//保存文档
ppt.SaveToFile("删除图形.pptx", FileFormat.Pptx2010);