Spire.Presentation支持操作常规图形(矩形、三角形、圆形等),智能图形(SmartArt),图表类图形(Chart)等,本文主要介绍如何在幻灯片中添加和删除常规图形。
添加图形
C#
//新建一个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);
VB.NET
'新建一个PowerPoint文档
Dim ppt As New Presentation()
ppt.SlideSize.Type = SlideSizeType.Screen16x9
'获取第一张幻灯片
Dim slide As ISlide = ppt.Slides(0)
'添加一个矩形并填充渐变颜色
Dim shape1 As IAutoShape = 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("本教程展示了如何添加图形到幻灯片")
Dim textRange As TextRange = TryCast(shape1, IAutoShape).TextFrame.TextRange
textRange.FontHeight = 13
textRange.LatinFont = New TextFont("Arial")
textRange.Fill.FillType = FillFormatType.Solid
textRange.Fill.SolidColor.Color = Color.Black
'添加一个椭圆并填充图片
Dim shape2 As IAutoShape = slide.Shapes.AppendShape(ShapeType.Ellipse, New RectangleF(25, 150, 100, 100))
Dim picPath As String = "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
'添加一个三角形并填充固定颜色
Dim shape3 As IAutoShape = 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
'添加一个带箭头的直线
Dim shape4 As IAutoShape = 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)
删除图形
C#
//初始化一个Presentation实例
Presentation ppt = new Presentation();
//加载一个PowerPoint文档
ppt.LoadFromFile("添加图形.pptx");
//获取第一张幻灯片
ISlide slide = ppt.Slides[0];
//删除幻灯片上的第三个图形
slide.Shapes.RemoveAt(2);
//保存文档
ppt.SaveToFile("删除图形.pptx", FileFormat.Pptx2010);
VB.NET
'初始化一个Presentation实例
Dim ppt As New Presentation()
'加载一个PowerPoint文档
ppt.LoadFromFile("添加图形.pptx")
'获取第一张幻灯片
Dim slide As ISlide = ppt.Slides(0)
'删除幻灯片上的第三个图形
slide.Shapes.RemoveAt(2)
'保存文档
ppt.SaveToFile("删除图形.pptx", FileFormat.Pptx2010)