形状格式化
在 PowerPoint 中,您可以在幻灯片上添加形状。由于形状是由线条组成的,您可以通过修改或应用某些效果来格式化形状的构成线条。此外,您还可以通过指定设置来格式化形状,从而决定它们(其中的区域)如何填充。
Aspose.Slides for Python via .NET 提供的接口和属性允许您根据 PowerPoint 中已知的选项来格式化形状。
格式化线条
使用 Aspose.Slides,您可以为形状指定所需的线条样式。这些步骤概述了这样一个过程:
- 创建 Presentation 类的实例。
- 通过索引获取幻灯片的引用。
- 向幻灯片添加 IShape。
- 为形状的线条设置颜色。
- 为形状的线条设置宽度。
- 为形状的线条设置 line style。
- 为形状的线条设置 dash style。
- 将修改后的演示文稿写入 PPTX 文件。
以下 Python 代码演示了格式化一个矩形 AutoShape
的操作:
import aspose.slides as slides
import aspose.pydrawing as draw
# 实例化一个表示 PPTX 文件的 Presentation 类
with slides.Presentation() as pres:
# 获取第一张幻灯片
sld = pres.slides[0]
# 添加一个矩形自动形状
shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 150, 75)
# 设置矩形形状的填充颜色
shp.fill_format.fill_type = slides.FillType.SOLID
shp.fill_format.solid_fill_color.color = draw.Color.white
# 对矩形的线条应用一些格式
shp.line_format.style = slides.LineStyle.THICK_THIN
shp.line_format.width = 7
shp.line_format.dash_style = slides.LineDashStyle.DASH
# 设置矩形线条的颜色
shp.line_format.fill_format.fill_type = slides.FillType.SOLID
shp.line_format.fill_format.solid_fill_color.color = draw.Color.blue
# 将 PPTX 文件写入磁盘
pres.save("RectShpLn_out-1.pptx", slides.export.SaveFormat.PPTX)
格式化连接样式
这三种连接类型选项是:
- 圆角
- 切角
- 平角
默认情况下,当 PowerPoint 在一个角度(或形状的角落)连接两条线时,使用 圆角 设置。然而,如果您希望绘制具有非常尖锐角度的形状,则可能希望选择 切角。
以下 Python 代码演示了一个操作,其中创建了 3 个矩形(上图)并使用了切角、平角和圆角连接类型设置:
import aspose.slides as slides
import aspose.pydrawing as draw
# 实例化一个表示 PPTX 文件的 Presentation 类
with slides.Presentation() as pres:
# 获取第一张幻灯片
sld = pres.slides[0]
# 添加 3 个矩形自动形状
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)
# 设置矩形形状的填充颜色
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
# 设置线条的宽度
shp1.line_format.width = 15
shp2.line_format.width = 15
shp3.line_format.width = 15
# 设置矩形线条的颜色
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
# 设置连接样式
shp1.line_format.join_style = slides.LineJoinStyle.MITER
shp2.line_format.join_style = slides.LineJoinStyle.BEVEL
shp3.line_format.join_style = slides.LineJoinStyle.ROUND
# 向每个矩形添加文本
shp1.text_frame.text = "这是切角连接样式"
shp2.text_frame.text = "这是平角连接样式"
shp3.text_frame.text = "这是圆角连接样式"
# 将 PPTX 文件写入磁盘
pres.save("RectShpLnJoin_out-2.pptx", slides.export.SaveFormat.PPTX)
渐变填充
在 PowerPoint 中,渐变填充是一种格式选项,允许您将颜色的连续渐变应用于形状。例如,您可以在一个设置中应用两种或更多颜色,其中一种颜色逐渐淡出并变成另一种颜色。
以下方法是使用 Aspose.Slides 将渐变填充应用于形状:
- 创建 Presentation 类的实例。
- 通过索引获取幻灯片的引用。
- 向幻灯片添加 IShape。
- 将形状的 FillType 设置为
Gradient
。 - 使用
GradientFormat
类中与GradientStops
集合关联的Add
方法添加您首选的 2 种颜色及定义的位置。 - 将修改后的演示文稿写入 PPTX 文件。
以下 Python 代码演示了在椭圆上使用渐变填充效果的操作:
import aspose.slides as slides
import aspose.pydrawing as draw
# 实例化一个表示演示文稿文件的 Presentation 类
with slides.Presentation() as pres:
# 获取第一张幻灯片
sld = pres.slides[0]
# 添加一个椭圆自动形状
shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 75, 150)
# 对椭圆应用渐变格式
shp.fill_format.fill_type = slides.FillType.GRADIENT
shp.fill_format.gradient_format.gradient_shape = slides.GradientShape.LINEAR
# 设置渐变的方向
shp.fill_format.gradient_format.gradient_direction = slides.GradientDirection.FROM_CORNER2
# 添加 2 个渐变停止
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)
# 将 PPTX 文件写入磁盘
pres.save("EllipseShpGrad_out-3.pptx", slides.export.SaveFormat.PPTX)
图案填充
在 PowerPoint 中,图案填充是一种格式选项,允许您将由点、条纹、交叉线或方块组成的两种颜色设计应用于形状。此外,您可以选择图案前景和背景的首选颜色。
Aspose.Slides 提供了 45 种以上的预定义样式,可以用于格式化形状并丰富演示文稿。即使在选择了预定义图案后,您仍然可以指定图案必须包含的颜色。
以下方法是使用 Aspose.Slides 将图案填充应用于形状:
- 创建 Presentation 类的实例。
- 通过索引获取幻灯片的引用。
- 向幻灯片添加 IShape。
- 将形状的 FillType 设置为
Pattern
。 - 为形状设置首选的图案样式。
- 为 PatternFormat 设置背景颜色。
- 为 PatternFormat 设置前景颜色。
- 将修改后的演示文稿写入 PPTX 文件。
以下 Python 代码演示了使用图案填充来美化矩形的操作:
import aspose.slides as slides
import aspose.pydrawing as draw
# 实例化一个表示演示文稿文件的 Presentation 类
with slides.Presentation() as pres:
# 获取第一张幻灯片
sld = pres.slides[0]
# 添加一个矩形自动形状
shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 75, 150)
# 将填充类型设置为图案
shp.fill_format.fill_type = slides.FillType.PATTERN
# 设置图案样式
shp.fill_format.pattern_format.pattern_style = slides.PatternStyle.TRELLIS
# 设置图案的背景色和前景色
shp.fill_format.pattern_format.back_color.color = draw.Color.light_gray
shp.fill_format.pattern_format.fore_color.color = draw.Color.yellow
# 将 PPTX 文件写入磁盘
pres.save("RectShpPatt_out-4.pptx", slides.export.SaveFormat.PPTX)
图片填充
在 PowerPoint 中,图片填充是一种格式选项,允许您在形状内放置图片。实质上,您可以将图片用作形状的背景。
以下是使用 Aspose.Slides 用图片填充形状的方法:
- 创建 Presentation 类的实例。
- 通过索引获取幻灯片的引用。
- 向幻灯片添加 IShape。
- 将形状的 FillType 设置为
Picture
。 - 设置图片填充模式为瓷砖。
- 使用将用于填充形状的图片创建一个
IPPImage
对象。 - 将创建的
IPPImage
设置为PictureFillFormat
对象的Picture.Image
属性。 - 将修改后的演示文稿写入 PPTX 文件。
以下 Python 代码展示了如何用图片填充形状的操作:
import aspose.slides as slides
import aspose.pydrawing as draw
# 实例化一个表示 PPTX 文件的 Presentation 类
with slides.Presentation() as pres:
# 获取第一张幻灯片
sld = pres.slides[0]
# 添加一个矩形自动形状
shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 75, 150)
# 将填充类型设置为图片
shp.fill_format.fill_type = slides.FillType.PICTURE
# 设置图片填充模式
shp.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.TILE
# 设置图片
img = draw.Bitmap(path + "Tulips.jpg")
imgx = pres.images.add_image(img)
shp.fill_format.picture_fill_format.picture.image = imgx
# 将 PPTX 文件写入磁盘
pres.save("RectShpPic_out-5.pptx", slides.export.SaveFormat.PPTX)
纯色填充
在 PowerPoint 中,纯色填充是一种格式选项,允许您用单一颜色填充形状。所选择的颜色通常是平坦的颜色。该颜色应用于形状的背景,没有任何特殊效果或修改。
以下方法是使用 Aspose.Slides 将纯色填充应用于形状:
- 创建 Presentation 类的实例。
- 通过索引获取幻灯片的引用。
- 向幻灯片添加 IShape。
- 将形状的 FillType 设置为
Solid
。 - 为形状设置首选颜色。
- 将修改后的演示文稿写入 PPTX 文件。
以下 Python 代码展示了如何将纯色填充应用于 PowerPoint 中的一个框:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
# 获取第一张幻灯片
slide = presentation.slides[0]
# 添加一个矩形自动形状
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.yellow
# 将 PPTX 文件写入磁盘
presentation.save("RectShpSolid_out-6.pptx", slides.export.SaveFormat.PPTX)
设置透明度
在 PowerPoint 中,当您用纯色、渐变、图片或纹理填充形状时,可以指定透明度级别,这决定了填充的透明度。例如,如果您设置较低的透明度级别,幻灯片对象或填充(形状)后面的背景将透过来。
Aspose.Slides 允许您以以下方式为形状设置透明度级别:
- 创建 Presentation 类的实例。
- 通过索引获取幻灯片的引用。
- 向幻灯片添加 IShape。
- 使用
Color.FromArgb
设置 alpha 组件。 - 将对象保存为 PowerPoint 文件。
以下 Python 代码演示了该过程:
import aspose.pydrawing as draw
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# 添加一个实心形状
solidShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 75, 175, 75, 150)
# 在实心形状上添加一个透明形状
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)
旋转形状
Aspose.Slides 允许您以以下方式旋转添加到幻灯片的形状:
- 创建 Presentation 类的实例。
- 通过索引获取幻灯片的引用。
- 向幻灯片添加 IShape。
- 按所需的度数旋转形状。
- 将修改后的演示文稿写入 PPTX 文件。
以下 Python 代码展示了如何将形状旋转 90 度:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
# 获取第一张幻灯片
sld = pres.slides[0]
# 添加一个矩形自动形状
shp = sld.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 150, 75, 150)
# 将形状旋转 90 度
shp.rotation = 90
# 将 PPTX 文件写入磁盘
pres.save("RectShpRot_out-7.pptx", slides.export.SaveFormat.PPTX)
添加 3D 凹凸效果
Aspose.Slides for Python via .NET 允许您通过修改其 ThreeDFormat 属性为形状添加 3D 凹凸效果,步骤如下:
- 创建 Presentation 类的实例。
- 通过索引获取幻灯片的引用。
- 向幻灯片添加 IShape。
- 为形状的 ThreeDFormat 属性设置您首选的参数。
- 将演示文稿写入磁盘。
以下 Python 代码展示了如何为形状添加 3D 凹凸效果:
import aspose.slides as slides
import aspose.pydrawing as draw
# 创建 Presentation 类的实例
with slides.Presentation() as pres:
slide = pres.slides[0]
# 向幻灯片添加一个形状
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
# 设置形状的 ThreeDFormat 属性
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
# 将演示文稿保存为 PPTX 文件
pres.save("Bavel_out-8.pptx", slides.export.SaveFormat.PPTX)
添加 3D 旋转效果
Aspose.Slides 允许您通过修改其 ThreeDFormat 属性来为形状应用 3D 旋转效果,步骤如下:
- 创建 Presentation 类的实例。
- 通过索引获取幻灯片的引用。
- 向幻灯片添加 IShape。
- 为 CameraType 和 LightType 指定您首选的参数。
- 将演示文稿写入磁盘。
以下 Python 代码展示了如何为形状应用 3D 旋转效果:
import aspose.slides as slides
import aspose.pydrawing as draw
# 创建 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)
重置格式
以下 Python 代码展示了如何重置幻灯片中的格式,并将每个在 LayoutSlide 上有占位符的形状的位置、大小和格式还原为默认值:
import aspose.slides as slides
with slides.Presentation() as pres:
for slide in pres.slides:
# 幻灯片上每个具有布局占位符的形状将被还原
slide.reset()