How to create gradient shape in PowerPoint in C#

A gradient is a smooth transition from one color to another, and the gradient backgrounds make your presentation very cool. This article will show you how to create a shape with gradient effects by using Spire.Presentation. With the help of Spire.Presentation, you can not only insert gradient shapes into the slides, but also insert solid shapes in PowerPoint in C# easily.

The following steps will give you clear information of how to fill a shape with gradient effects. We will use rectangle shape in this example.

Step 1: Create an instance of presentation.

Presentation ppt = new Presentation();

Step 2: Add a rectangle to the slide.

IAutoShape GradientShape = (IAutoShape)ppt.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(200, 100, 287, 100));

Step 3: Set the Fill Type of the Shape to Gradient.

GradientShape.Fill.FillType = FillFormatType.Gradient;

Step 4: Set the start and end color for the gradient effects.

GradientShape.Fill.Gradient.GradientStops.Append(0, Color.Purple);
GradientShape.Fill.Gradient.GradientStops.Append(1, Color.Red);

Step 5: Save and Launch to view the resulted PPTX file.

ppt.SaveToFile("CreateGradientShape.pptx", FileFormat.Pptx2010);
System.Diagnostics.Process.Start("CreateGradientShape.pptx");

Effective screenshot of the resulted gradient shape:

How to create gradient shape in PowerPoint in C#

Full codes:

using Spire.Presentation;
using Spire.Presentation.Drawing;
using System.Drawing;

namespace createGradientshape
{
    class Program
    {
        static void Main(string[] args)
        {
            Presentation ppt = new Presentation();
            IAutoShape GradientShape = (IAutoShape)ppt.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(200, 100, 287, 100));

            GradientShape.Fill.FillType = FillFormatType.Gradient;
            GradientShape.Fill.Gradient.GradientStops.Append(0, Color.Purple);
            GradientShape.Fill.Gradient.GradientStops.Append(1, Color.Red);
            ppt.SaveToFile("CreateGradientShape.pptx", FileFormat.Pptx2010);
            System.Diagnostics.Process.Start("CreateGradientShape.pptx");
        }
    }
}