Добавить линейные фигуры в презентации в .NET

Aspose.Slides for .NET поддерживает добавление различных типов фигур на слайды. В этой статье мы начнём работу с фигурами, добавляя линии на слайды. С помощью Aspose.Slides for .NET разработчики могут не только создавать простые линии, но и рисовать красивые линии на слайдах.

Create a Plain Line

Чтобы добавить простую обычную линию на выбранный слайд презентации, выполните следующие шаги:

  • Создайте экземпляр Presentationclass.
  • Получите ссылку на слайд, используя его индекс.
  • Добавьте AutoShape типа Line с помощью метода AddAutoShape, предоставляемого объектом Shapes.
  • Сохраните изменённую презентацию в файл PPTX.

В примере ниже мы добавили линию на первый слайд презентации.

// Создайте экземпляр класса PresentationEx, представляющего файл PPTX
using (Presentation pres = new Presentation())
{
    // Получить первый слайд
    ISlide sld = pres.Slides[0];

    // Добавить AutoShape типа line
    sld.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0);

    //Записать PPTX на диск
    pres.Save("LineShape1_out.pptx", SaveFormat.Pptx);
}

Create an Arrow-Shaped Line

Aspose.Slides for .NET также позволяет разработчикам настраивать свойства линии, чтобы она выглядела более привлекательно. Попробуем настроить несколько свойств линии, чтобы она выглядела как стрелка. Выполните следующие шаги:

  • Создайте экземпляр Presentationclass.
  • Получите ссылку на слайд, используя его индекс.
  • Добавьте AutoShape типа Line с помощью метода AddAutoShape, предоставляемого объектом Shapes.
  • Установите стиль линии (Line Style) в один из стилей, предлагаемых Aspose.Slides for .NET.
  • Установите ширину (Width) линии.
  • Установите Dash Style линии в один из стилей, предлагаемых Aspose.Slides for .NET.
  • Установите Arrow Head Style и длину начального конца линии.
  • Установите стиль и длину стрелочного конца линии.
  • Сохраните изменённую презентацию в файл PPTX.
// Создать экземпляр класса PresentationEx, представляющего файл PPTX
using (Presentation pres = new Presentation())
{

    // Получить первый слайд
    ISlide sld = pres.Slides[0];

    // Добавить AutoShape типа line
    IAutoShape shp = sld.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0);

    // Применить некоторое форматирование к линии
    shp.LineFormat.Style = LineStyle.ThickBetweenThin;
    shp.LineFormat.Width = 10;

    shp.LineFormat.DashStyle = LineDashStyle.DashDot;

    shp.LineFormat.BeginArrowheadLength = LineArrowheadLength.Short;
    shp.LineFormat.BeginArrowheadStyle = LineArrowheadStyle.Oval;

    shp.LineFormat.EndArrowheadLength = LineArrowheadLength.Long;
    shp.LineFormat.EndArrowheadStyle = LineArrowheadStyle.Triangle;

    shp.LineFormat.FillFormat.FillType = FillType.Solid;
    shp.LineFormat.FillFormat.SolidFillColor.Color = Color.Maroon;

    //Write the PPTX to Disk
    pres.Save("LineShape2_out.pptx", SaveFormat.Pptx);
}

FAQ

Can I convert a regular line into a connector so it “snaps” to shapes?

No. A regular line (an AutoShape of type Line) does not automatically become a connector. To make it snap to shapes, use the dedicated Connector type and the corresponding APIs for connections.

What should I do if a line’s properties are inherited from the theme and it’s hard to determine the final values?

Read the effective properties through the ILineFormatEffectiveData/ILineFillFormatEffectiveData interfaces—these already account for inheritance and theme styles.

Can I lock a line against editing (moving, resizing)?

Yes. Shapes provide lock objects that let you disallow editing operations.