Добавить линейные фигуры в презентации в .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.