Agregar rectángulos a presentaciones en Android
Agregar un rectángulo a una diapositiva
Para agregar un rectángulo 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 IAutoShape de tipo Rectangle usando el método addAutoShape expuesto por el objeto IShapeCollection.
- Guarde la presentación modificada como un archivo PPTX.
En el ejemplo que se muestra a continuación, hemos agregado un rectángulo simple a la primera diapositiva de la presentación.
// Instanciar la clase Presentation que representa el PPTX
Presentation pres = new Presentation();
try {
// Obtener la primera diapositiva
ISlide sld = pres.getSlides().get_Item(0);
// Agregar AutoShape de tipo elipse
IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 50);
// Guardar el archivo PPTX en disco
pres.save("RecShp1.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Agregar un rectángulo formateado a una diapositiva
Para agregar un rectángulo formateado a una diapositiva, siga los pasos a continuación:
- Cree una instancia de la clase Presentation.
- Obtenga la referencia de una diapositiva usando su índice.
- Agregue un IAutoShape de tipo Rectangle usando el método addAutoShape expuesto por el objeto IShapeCollection.
- Establezca el Fill Type del rectángulo a Solid.
- Establezca el color del rectángulo usando el método SolidFillColor.setColor expuesto por el objeto IFillFormat asociado al objeto IShape.
- Establezca el color de las líneas del rectángulo.
- Establezca el ancho de las líneas del rectángulo.
- Guarde la presentación modificada como un archivo PPTX.
Los pasos anteriores se implementan en el ejemplo que se muestra a continuación.
// Instanciar la clase Presentation que representa el PPTX
Presentation pres = new Presentation();
try {
// Obtener la primera diapositiva
ISlide sld = pres.getSlides().get_Item(0);
// Agregar AutoShape de tipo elipse
IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 50);
// Aplicar formato a la forma elipse
shp.getFillFormat().setFillType(FillType.Solid);
shp.getFillFormat().getSolidFillColor().setColor(Color.GRAY);
// Aplicar formato a la línea de la elipse
shp.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
shp.getLineFormat().setWidth(5);
// Guardar el archivo PPTX en disco
pres.save("RecShp2.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
¿Cómo agrego un rectángulo con esquinas redondeadas?
Utilice el shape type de esquina redondeada y ajuste el radio de la esquina en las propiedades de la forma; el redondeado también puede aplicarse por esquina mediante ajustes de geometría.
¿Cómo relleno un rectángulo con una imagen (textura)?
Seleccione el fill type de imagen, proporcione la fuente de la imagen y configure los stretching/tiling modes.
¿Puede un rectángulo tener sombra y resplandor?
Sí. Outer/inner shadow, glow, and soft edges están disponibles con parámetros ajustables.
¿Puedo convertir un rectángulo en un botón con un hipervínculo?
Sí. Assign a hyperlink al hacer clic en la forma (saltar a una diapositiva, archivo, dirección web o correo electrónico).
¿Cómo puedo proteger un rectángulo contra movimientos y cambios?
Use shape locks: puede prohibir mover, redimensionar, seleccionar o editar texto para preservar el diseño.
¿Puedo convertir un rectángulo a una imagen raster o SVG?
Sí. Puede render the shape a una imagen con un tamaño/escala especificados o export it as SVG para uso vectorial.
¿Cómo obtengo rápidamente las propiedades reales (efectivas) de un rectángulo considerando el tema y la herencia?
Use the shape’s effective properties: la API devuelve valores calculados que tienen en cuenta los estilos del tema, el diseño y la configuración local, simplificando el análisis de formato.