Agregar formas de línea a presentaciones en .NET
Aspose.Slides for .NET permite añadir diferentes tipos de formas a las diapositivas. En este tema, empezaremos a trabajar con formas añadiendo líneas a las diapositivas. Con Aspose.Slides for .NET, los desarrolladores pueden crear no solo líneas simples, sino también líneas elegantes en las diapositivas.
Crear una línea simple
Para añadir una línea simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación:
- Crear una instancia de la clase Presentación.
- Obtener la referencia de una diapositiva usando su índice.
- Añadir un AutoShape de tipo Línea mediante el método AddAutoShape expuesto por el objeto Shapes.
- Guardar la presentación modificada como archivo PPTX.
En el ejemplo que se muestra a continuación, se ha añadido una línea a la primera diapositiva de la presentación.
// Instanciar la clase PresentationEx que representa el archivo PPTX
using (Presentation pres = new Presentation())
{
// Obtener la primera diapositiva
ISlide sld = pres.Slides[0];
// Agregar un autoshape de tipo línea
sld.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0);
// Guardar el PPTX en disco
pres.Save("LineShape1_out.pptx", SaveFormat.Pptx);
}
Crear una línea con forma de flecha
Aspose.Slides for .NET también permite a los desarrolladores configurar algunas propiedades de la línea para que tenga un aspecto más atractivo. Vamos a configurar algunas propiedades de la línea para que parezca una flecha. Siga los pasos a continuación:
- Crear una instancia de la clase Presentación.
- Obtener la referencia de una diapositiva usando su índice.
- Añadir un AutoShape de tipo Línea mediante el método AddAutoShape expuesto por el objeto Shapes.
- Establecer el estilo de línea a uno de los estilos ofrecidos por Aspose.Slides for .NET.
- Establecer el ancho de la línea.
- Establecer el Estilo de guión de la línea a uno de los estilos ofrecidos por Aspose.Slides for .NET.
- Establecer el Estilo de punta de flecha y la longitud del punto inicial de la línea.
- Establecer el estilo de punta de flecha y la longitud del punto final de la línea.
- Guardar la presentación modificada como archivo PPTX.
// Instanciar la clase PresentationEx que representa el archivo PPTX
using (Presentation pres = new Presentation())
{
// Obtener la primera diapositiva
ISlide sld = pres.Slides[0];
// Añadir un autoshape de tipo línea
IAutoShape shp = sld.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0);
// Aplicar formato a la línea
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;
//Guardar el PPTX en disco
pres.Save("LineShape2_out.pptx", SaveFormat.Pptx);
}
FAQ
¿Puedo convertir una línea normal en un conector para que “se ajuste” a las formas?
No. Una línea normal (un AutoShape de tipo Línea) no se convierte automáticamente en un conector. Para que se ajuste a las formas, use el tipo Connector dedicado y las APIs correspondientes para conexiones.
¿Qué debo hacer si las propiedades de una línea se heredan del tema y es difícil determinar los valores finales?
Lea las propiedades efectivas a través de las interfaces ILineFormatEffectiveData y ILineFillFormatEffectiveData; estas ya tienen en cuenta la herencia y los estilos del tema.
¿Puedo bloquear una línea contra la edición (movimiento, cambio de tamaño)?
Sí. Las formas proporcionan objetos de bloqueo que le permiten restringir operaciones de edición.