Formato de Forma
En PowerPoint, puedes agregar formas a las diapositivas. Dado que las formas están compuestas por líneas, puedes formatear las formas modificando o aplicando ciertos efectos a sus líneas constitutivas. Además, puedes formatear las formas especificando configuraciones que determinan cómo se llenan (el área dentro de ellas).
Aspose.Slides para Python a través de .NET proporciona interfaces y propiedades que te permiten formatear formas basadas en opciones conocidas en PowerPoint.
Formato de Líneas
Usando Aspose.Slides, puedes especificar tu estilo de línea preferido para una forma. Estos pasos describen un procedimiento para ello:
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un IShape a la diapositiva.
- Establece un color para las líneas de la forma.
- Establece el ancho para las líneas de la forma.
- Establece el estilo de línea para la línea de la forma.
- Establece el estilo de guiones para la línea de la forma.
- Escribe la presentación modificada como un archivo PPTX.
Este código Python demuestra una operación donde formateamos un rectángulo AutoShape
:
import aspose.slides as slides
import aspose.pydrawing as draw
# Instancia una clase Presentation que representa un archivo PPTX
with slides.Presentation() as pres:
# Obtiene la primera diapositiva
sld = pres.slides[0]
# Agrega una forma autoshape rectángulo
shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 75)
# Establece el color de relleno para la forma rectángulo
shp.fill_format.fill_type = slides.FillType.SOLID
shp.fill_format.solid_fill_color.color = draw.Color.white
# Aplica algún formato a las líneas del rectángulo
shp.line_format.style = slides.LineStyle.THICK_THIN
shp.line_format.width = 7
shp.line_format.dash_style = slides.LineDashStyle.DASH
# Establece el color para la línea del rectángulo
shp.line_format.fill_format.fill_type = slides.FillType.SOLID
shp.line_format.fill_format.solid_fill_color.color = draw.Color.blue
# Escribe el archivo PPTX en disco
pres.save("RectShpLn_out-1.pptx", slides.export.SaveFormat.PPTX)
Formato de Estilos de Unión
Estas son las 3 opciones de tipo de unión:
- Redondeada
- Inglete
- Bisel
Por defecto, cuando PowerPoint une dos líneas en un ángulo (o la esquina de una forma), utiliza la configuración Redondeada. Sin embargo, si buscas dibujar una forma con ángulos muy agudos, puede que desees seleccionar Inglete.
Este código Python demuestra una operación donde se crearon 3 rectángulos (la imagen de arriba) con las configuraciones de tipo de unión Inglete, Bisel y Redondeada:
import aspose.slides as slides
import aspose.pydrawing as draw
# Instancia una clase Presentation que representa un archivo PPTX
with slides.Presentation() as pres:
# Obtiene la primera diapositiva
sld = pres.slides[0]
# Agrega 3 formas autoshape rectángulo
shp1 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 100, 150, 75)
shp2 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 100, 150, 75)
shp3 = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 250, 150, 75)
# Establece el color de relleno para la forma rectángulo
shp1.fill_format.fill_type = slides.FillType.SOLID
shp1.fill_format.solid_fill_color.color = draw.Color.black
shp2.fill_format.fill_type = slides.FillType.SOLID
shp2.fill_format.solid_fill_color.color = draw.Color.black
shp3.fill_format.fill_type = slides.FillType.SOLID
shp3.fill_format.solid_fill_color.color = draw.Color.black
# Establece el ancho de la línea
shp1.line_format.width = 15
shp2.line_format.width = 15
shp3.line_format.width = 15
# Establece el color para la línea del rectángulo
shp1.line_format.fill_format.fill_type = slides.FillType.SOLID
shp1.line_format.fill_format.solid_fill_color.color = draw.Color.blue
shp2.line_format.fill_format.fill_type = slides.FillType.SOLID
shp2.line_format.fill_format.solid_fill_color.color = draw.Color.blue
shp3.line_format.fill_format.fill_type = slides.FillType.SOLID
shp3.line_format.fill_format.solid_fill_color.color = draw.Color.blue
# Establece el Estilo de Unión
shp1.line_format.join_style = slides.LineJoinStyle.MITER
shp2.line_format.join_style = slides.LineJoinStyle.BEVEL
shp3.line_format.join_style = slides.LineJoinStyle.ROUND
# Agrega texto a cada rectángulo
shp1.text_frame.text = "Este es el estilo de unión Inglete"
shp2.text_frame.text = "Este es el estilo de unión Bisel"
shp3.text_frame.text = "Este es el estilo de unión Redondeada"
# Escribe el archivo PPTX en disco
pres.save("RectShpLnJoin_out-2.pptx", slides.export.SaveFormat.PPTX)
Relleno de Degradado
En PowerPoint, Relleno de Degradado es una opción de formato que permite aplicar una mezcla continua de colores a una forma. Por ejemplo, puedes aplicar dos o más colores en una configuración donde un color se desvanece gradualmente y cambia a otro color.
Así es como usas Aspose.Slides para aplicar un relleno de degradado a una forma:
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un IShape a la diapositiva.
- Establece el FillType de la forma a
Degradado
. - Agrega tus 2 colores preferidos con posiciones definidas utilizando los métodos
Add
expuestos por la colecciónGradientStops
asociada a la claseGradientFormat
. - Escribe la presentación modificada como un archivo PPTX.
Este código Python demuestra una operación donde se utilizó el efecto de relleno de degradado en una elipse:
import aspose.slides as slides
import aspose.pydrawing as draw
# Instancia una clase Presentation que representa un archivo de presentación
with slides.Presentation() as pres:
# Obtiene la primera diapositiva
sld = pres.slides[0]
# Agrega una forma autoshape elipse
shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 75, 150)
# Aplica el formato de degradado a la elipse
shp.fill_format.fill_type = slides.FillType.GRADIENT
shp.fill_format.gradient_format.gradient_shape = slides.GradientShape.LINEAR
# Establece la dirección del degradado
shp.fill_format.gradient_format.gradient_direction = slides.GradientDirection.FROM_CORNER2
# Agrega 2 Paradas de Degradado
shp.fill_format.gradient_format.gradient_stops.add(1.0, slides.PresetColor.PURPLE)
shp.fill_format.gradient_format.gradient_stops.add(0, slides.PresetColor.RED)
# Escribe el archivo PPTX en disco
pres.save("EllipseShpGrad_out-3.pptx", slides.export.SaveFormat.PPTX)
Relleno de Patrón
En PowerPoint, Relleno de Patrón es una opción de formato que permite aplicar un diseño de dos colores compuesto por puntos, rayas, tramas o cuadros a una forma. Además, tienes la opción de seleccionar tus colores preferidos para el primer plano y el fondo de tu patrón.
Aspose.Slides proporciona más de 45 estilos predefinidos que se pueden utilizar para formatear formas y enriquecer presentaciones. Incluso después de elegir un patrón predefinido, aún puedes especificar los colores que el patrón debe contener.
Así es como usas Aspose.Slides para aplicar un relleno de patrón a una forma:
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un IShape a la diapositiva.
- Establece el FillType de la forma a
Patrón
. - Establece tu estilo de patrón preferido para la forma.
- Establece el Color de Fondo para el PatternFormat.
- Establece el Color de Primer Plano para el PatternFormat.
- Escribe la presentación modificada como un archivo PPTX.
Este código Python demuestra una operación donde se utilizó un relleno de patrón para embellecer un rectángulo:
import aspose.slides as slides
import aspose.pydrawing as draw
# Instancia una clase Presentation que representa un archivo de presentación
with slides.Presentation() as pres:
# Obtiene la primera diapositiva
sld = pres.slides[0]
# Agrega una forma autoshape rectángulo
shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 75, 150)
# Establece el tipo de relleno a Patrón
shp.fill_format.fill_type = slides.FillType.PATTERN
# Establece el estilo del patrón
shp.fill_format.pattern_format.pattern_style = slides.PatternStyle.TRELLIS
# Establece los colores de fondo y primer plano del patrón
shp.fill_format.pattern_format.back_color.color = draw.Color.light_gray
shp.fill_format.pattern_format.fore_color.color = draw.Color.yellow
# Escribe el archivo PPTX en disco
pres.save("RectShpPatt_out-4.pptx", slides.export.SaveFormat.PPTX)
Relleno de Imagen
En PowerPoint, Relleno de Imagen es una opción de formato que permite colocar una imagen dentro de una forma. Esencialmente, puedes usar una imagen como fondo de la forma.
Así es como usas Aspose.Slides para llenar una forma con una imagen:
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un IShape a la diapositiva.
- Establece el FillType de la forma a
Imagen
. - Establece el Modo de Relleno de Imagen a Azulejo.
- Crea un objeto
IPPImage
utilizando la imagen que se utilizará para llenar la forma. - Establece la propiedad
Picture.Image
del objetoPictureFillFormat
alIPPImage
que fue creado recientemente. - Escribe la presentación modificada como un archivo PPTX.
Este código Python te muestra cómo llenar una forma con una imagen:
import aspose.slides as slides
import aspose.pydrawing as draw
# Instancia una clase Presentation que representa un archivo PPTX
with slides.Presentation() as pres:
# Obtiene la primera diapositiva
sld = pres.slides[0]
# Agrega una forma autoshape rectángulo
shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 75, 150)
# Establece el tipo de relleno a Imagen
shp.fill_format.fill_type = slides.FillType.PICTURE
# Establece el modo de relleno de imagen
shp.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.TILE
# Establece la imagen
img = draw.Bitmap(path + "Tulips.jpg")
imgx = pres.images.add_image(img)
shp.fill_format.picture_fill_format.picture.image = imgx
# Escribe el archivo PPTX en disco
pres.save("RectShpPic_out-5.pptx", slides.export.SaveFormat.PPTX)
Relleno de Color Sólido
En PowerPoint, Relleno de Color Sólido es una opción de formato que permite llenar una forma con un solo color. El color elegido es típicamente un color plano. El color se aplica como fondo de la forma sin efectos especiales o modificaciones.
Así es como usas Aspose.Slides para aplicar un relleno de color sólido a una forma:
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un IShape a la diapositiva.
- Establece el FillType de la forma a
Sólido
. - Establece tu color preferido para la forma.
- Escribe la presentación modificada como un archivo PPTX.
Este código Python te muestra cómo aplicar el relleno de color sólido a una caja en PowerPoint:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
# Obtiene la primera diapositiva
slide = presentation.slides[0]
# Agrega una forma autoshape rectángulo
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 75, 150)
# Establece el tipo de relleno a Sólido
shape.fill_format.fill_type = slides.FillType.SOLID
# Establece el color para el rectángulo
shape.fill_format.solid_fill_color.color = draw.Color.yellow
# Escribe el archivo PPTX en disco
presentation.save("RectShpSolid_out-6.pptx", slides.export.SaveFormat.PPTX)
Establecer Transparencia
En PowerPoint, cuando llenas formas con colores sólidos, degradados, imágenes o texturas, puedes especificar el nivel de transparencia que determina la opacidad de un relleno. De esta manera, por ejemplo, si estableces un bajo nivel de transparencia, el objeto de la diapositiva o el fondo detrás (de la forma) se muestra.
Aspose.Slides te permite establecer el nivel de transparencia para una forma de la siguiente manera:
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un IShape a la diapositiva.
- Usa
Color.FromArgb
con el componente alfa establecido. - Guarda el objeto como un archivo de PowerPoint.
Este código Python demuestra el proceso:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Agrega una forma sólida
solidShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 75, 175, 75, 150)
# Agrega una forma transparente sobre la sólida
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 75, 150)
shape.fill_format.fill_type = slides.FillType.SOLID
shape.fill_format.solid_fill_color.color = draw.Color.from_argb(128, 204, 102, 0)
presentation.save("ShapeTransparentOverSolid_out.pptx", slides.export.SaveFormat.PPTX)
Rotar Formas
Aspose.Slides te permite rotar una forma agregada a una diapositiva de la siguiente manera:
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un IShape a la diapositiva.
- Rota la forma por los grados necesarios.
- Escribe la presentación modificada como un archivo PPTX.
Este código Python te muestra cómo rotar una forma 90 grados:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
# Obtiene la primera diapositiva
sld = pres.slides[0]
# Agrega una forma autoshape rectángulo
shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 75, 150)
# Rota la forma 90 grados
shp.rotation = 90
# Escribe el archivo PPTX en disco
pres.save("RectShpRot_out-7.pptx", slides.export.SaveFormat.PPTX)
Agregar Efectos de Bisel 3D
Aspose.Slides para Python a través de .NET te permite agregar efectos de bisel 3D a una forma modificando sus propiedades de ThreeDFormat de la siguiente manera:
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un IShape a la diapositiva.
- Establece tus parámetros preferidos para las propiedades de ThreeDFormat de la forma.
- Escribe la presentación a disco.
Este código Python te muestra cómo agregar efectos de bisel 3D a una forma:
import aspose.slides as slides
import aspose.pydrawing as draw
# Crea una instancia de la clase Presentation
with slides.Presentation() as pres:
slide = pres.slides[0]
# Agrega una forma a la diapositiva
shape = slide.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 30, 30, 100, 100)
shape.fill_format.fill_type = slides.FillType.SOLID
shape.fill_format.solid_fill_color.color = draw.Color.green
format = shape.line_format.fill_format
format.fill_type = slides.FillType.SOLID
format.solid_fill_color.color = draw.Color.orange
shape.line_format.width = 2.0
# Establece las propiedades de ThreeDFormat de la forma
shape.three_d_format.depth = 4
shape.three_d_format.bevel_top.bevel_type = slides.BevelPresetType.CIRCLE
shape.three_d_format.bevel_top.height = 6
shape.three_d_format.bevel_top.width = 6
shape.three_d_format.camera.camera_type = slides.CameraPresetType.ORTHOGRAPHIC_FRONT
shape.three_d_format.light_rig.light_type = slides.LightRigPresetType.THREE_PT
shape.three_d_format.light_rig.direction = slides.LightingDirection.TOP
# Escribe la presentación como un archivo PPTX
pres.save("Bavel_out-8.pptx", slides.export.SaveFormat.PPTX)
Agregar Efecto de Rotación 3D
Aspose.Slides te permite aplicar efectos de rotación 3D a una forma modificando sus propiedades de ThreeDFormat de la siguiente manera:
- Crea una instancia de la clase Presentation.
- Obtén una referencia de la diapositiva a través de su índice.
- Agrega un IShape a la diapositiva.
- Especifica tus figuras preferidas para CameraType y LightType.
- Escribe la presentación a disco.
Este código Python te muestra cómo aplicar efectos de rotación 3D a una forma:
import aspose.slides as slides
import aspose.pydrawing as draw
# Crea una instancia de la clase Presentation
with slides.Presentation() as pres:
autoShape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 30, 30, 200, 200)
autoShape.three_d_format.depth = 6
autoShape.three_d_format.camera.set_rotation(40, 35, 20)
autoShape.three_d_format.camera.camera_type = slides.CameraPresetType.ISOMETRIC_LEFT_UP
autoShape.three_d_format.light_rig.light_type = slides.LightRigPresetType.BALANCED
autoShape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.LINE, 30, 300, 200, 200)
autoShape.three_d_format.depth = 6
autoShape.three_d_format.camera.set_rotation(0, 35, 20)
autoShape.three_d_format.camera.camera_type = slides.CameraPresetType.ISOMETRIC_LEFT_UP
autoShape.three_d_format.light_rig.light_type = slides.LightRigPresetType.BALANCED
pres.save("Rotation_out-9.pptx", slides.export.SaveFormat.PPTX)
Restablecer Formato
Este código Python te muestra cómo restablecer el formato en una diapositiva y revertir la posición, tamaño y formato de cada forma que tiene un marcador en LayoutSlide a sus valores predeterminados:
import aspose.slides as slides
with slides.Presentation() as pres:
for slide in pres.slides:
# cada forma en la diapositiva que tiene un marcador en el diseño será revertida
slide.reset()