Agregar formas de línea a presentaciones en Android
Crear una línea simple
Para agregar una línea simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación:
- Cree una instancia de la clase Presentation.
- Obtenga la referencia de una diapositiva usando su índice.
- Agregue un AutoShape de tipo Línea usando el método addAutoShape expuesto por el objeto IShapeCollection.
- Grabe la presentación modificada como un archivo PPTX.
En el ejemplo a continuación, hemos agregado una línea a la primera diapositiva de la presentación.
// Instanciar la clase PresentationEx que representa el archivo PPTX
Presentation pres = new Presentation();
try {
// Obtener la primera diapositiva
ISlide sld = pres.getSlides().get_Item(0);
// Añadir un AutoShape de tipo línea
sld.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);
// Guardar el PPTX en disco
pres.save("LineShape.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Crear una línea con forma de flecha
Aspose.Slides for Android via Java también permite a los desarrolladores configurar algunas propiedades de la línea para que se vea más atractiva. Intentemos configurar algunas propiedades de una línea para que tenga forma de flecha. Por favor, siga los pasos a continuación para hacerlo:
- Cree una instancia de la clase Presentation.
- Obtenga la referencia de una diapositiva usando su índice.
- Agregue un AutoShape de tipo Línea usando el método addAutoShape expuesto por el objeto IShapeCollection.
- Establezca el Line Style a uno de los estilos ofrecidos por Aspose.Slides for Android via Java.
- Establezca el ancho de la línea.
- Establezca el Dash Style de la línea a uno de los estilos ofrecidos por Aspose.Slides for Android via Java.
- Establezca el Arrow Head Style y la Length del punto inicial de la línea.
- Establezca el Arrow Head Style y la Length del punto final de la línea.
- Grabe la presentación modificada como un archivo PPTX.
// Instanciar la clase PresentationEx que representa el archivo PPTX
Presentation pres = new Presentation();
try {
// Obtener la primera diapositiva
ISlide sld = pres.getSlides().get_Item(0);
// Añadir un AutoShape de tipo línea
IAutoShape shp = sld.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);
// Aplicar algo de formato a la línea
shp.getLineFormat().setStyle(LineStyle.ThickBetweenThin);
shp.getLineFormat().setWidth(10);
shp.getLineFormat().setDashStyle(LineDashStyle.DashDot);
shp.getLineFormat().setBeginArrowheadLength(LineArrowheadLength.Short);
shp.getLineFormat().setBeginArrowheadStyle(LineArrowheadStyle.Oval);
shp.getLineFormat().setEndArrowheadLength(LineArrowheadLength.Long);
shp.getLineFormat().setEndArrowheadStyle(LineArrowheadStyle.Triangle);
shp.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.Maroon));
// Guardar el PPTX en disco
pres.save("LineShape.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Preguntas frecuentes
¿Puedo convertir una línea regular en un conector para que se “ajuste” a las formas?
No. Una línea regular (un AutoShape de tipo Line) no se convierte automáticamente en un conector. Para que se ajuste a las formas, utilice el tipo Connector dedicado y las APIs correspondientes para conexiones.
¿Qué debo hacer si las propiedades de una línea son heredadas del tema y es difícil determinar los valores finales?
Lea las propiedades efectivas a través de las interfaces ILineFormatEffectiveData/ILineFillFormatEffectiveData; estas ya tienen en cuenta la herencia y los estilos del tema.
¿Puedo bloquear una línea contra la edición (mover, cambiar tamaño)?
Sí. Las formas ofrecen lock objects que le permiten denegar operaciones de edición.