演示文稿背景
Contents
[
Hide
]
纯色、渐变色和图片通常用作幻灯片的背景图像。您可以为普通幻灯片(单个幻灯片)或母版幻灯片(一次多个幻灯片)设置背景
为普通幻灯片设置纯色背景
Aspose.Slides 允许您为演示文稿中的特定幻灯片设置纯色背景(即使该演示文稿包含母版幻灯片)。背景的更改仅影响所选幻灯片。
- 创建 Presentation 类的一个实例。
- 将幻灯片的 BackgroundType 枚举设置为
OwnBackground
。 - 将幻灯片背景的 FillType 枚举设置为
Solid
。 - 使用 SolidFillColor 属性来为背景指定纯色,该属性由 FillFormat 提供。
- 保存修改后的演示文稿。
以下 Java 代码示例演示如何为普通幻灯片设置纯色(蓝色)背景:
// 创建 Presentation 类的实例
Presentation pres = new Presentation("MasterBG.pptx");
try {
// 将第一张 ISlide 的背景颜色设置为蓝色
pres.getSlides().get_Item(0).getBackground().setType(BackgroundType.OwnBackground);
pres.getSlides().get_Item(0).getBackground().getFillFormat().setFillType(FillType.Solid);
pres.getSlides().get_Item(0).getBackground().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
// 将演示文稿写入磁盘
pres.save("ContentBG.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
为母版幻灯片设置纯色背景
Aspose.Slides 允许您为演示文稿中的母版幻灯片设置纯色背景。母版幻灯片作为模板,包含并控制所有幻灯片的格式设置。因此,当您为母版幻灯片选择纯色作为背景时,该新背景将用于所有幻灯片。
- 创建 Presentation 类的一个实例。
- 将母版幻灯片(
Masters
)的 BackgroundType 枚举设置为OwnBackground
。 - 将母版幻灯片背景的 FillType 枚举设置为
Solid
。 - 使用 SolidFillColor 属性来为背景指定纯色,该属性由 FillFormat 提供。
- 保存修改后的演示文稿。
以下 Java 代码示例演示如何为演示文稿中的母版幻灯片设置纯色(森林绿)背景:
// 创建 Presentation 类的实例
Presentation pres = new Presentation();
try {
// 将母版 ISlide 的背景颜色设置为森林绿
pres.getMasters().get_Item(0).getBackground().setType(BackgroundType.OwnBackground);
pres.getMasters().get_Item(0).getBackground().getFillFormat().setFillType(FillType.Solid);
pres.getMasters().get_Item(0).getBackground().getFillFormat().getSolidFillColor().setColor(Color.GREEN);
// 将演示文稿写入磁盘
pres.save("MasterBG.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
为幻灯片设置渐变色背景
渐变是一种基于颜色逐渐变化的图形效果。当将渐变色用作幻灯片的背景时,演示文稿看起来既艺术又专业。Aspose.Slides 允许您为演示文稿中的幻灯片设置渐变色背景。
- 创建 Presentation 类的一个实例。
- 将幻灯片的 BackgroundType 枚举设置为
OwnBackground
。 - 将母版幻灯片背景的 FillType 枚举设置为
Gradient
。 - 使用 GradientFormat 属性来指定您首选的渐变设置,该属性由 FillFormat 提供。
- 保存修改后的演示文稿。
以下 Java 代码示例演示如何为幻灯片设置渐变色背景:
// 创建 Presentation 类的实例
Presentation pres = new Presentation("MasterBG.pptx");
try {
// 将渐变效果应用于背景
pres.getSlides().get_Item(0).getBackground().setType(BackgroundType.OwnBackground);
pres.getSlides().get_Item(0).getBackground().getFillFormat().setFillType(FillType.Gradient);
pres.getSlides().get_Item(0).getBackground().getFillFormat().getGradientFormat().setTileFlip(TileFlip.FlipBoth);
// 将演示文稿写入磁盘
pres.save("ContentBG_Grad.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
为幻灯片设置图片背景
除了纯色和渐变色之外,Aspose.Slides 还允许您在演示文稿的幻灯片背景中设置图片。
- 创建 Presentation 类的一个实例。
- 将幻灯片的 BackgroundType 枚举设置为
OwnBackground
。 - 将母版幻灯片背景的 FillType 枚举设置为
Picture
。 - 加载您想用作幻灯片背景的图像。
- 将图像添加到演示文稿的图像集合中。
- 使用 PictureFillFormat 属性来设置图像为背景,该属性由 FillFormat 提供。
- 保存修改后的演示文稿。
以下 Java 代码示例演示如何将图像设置为幻灯片的背景:
// 创建 Presentation 类的实例
Presentation pres = new Presentation();
try {
// 设置背景图像条件
pres.getSlides().get_Item(0).getBackground().setType(BackgroundType.OwnBackground);
pres.getSlides().get_Item(0).getBackground().getFillFormat().setFillType(FillType.Picture);
pres.getSlides().get_Item(0).getBackground().getFillFormat().getPictureFillFormat()
.setPictureFillMode(PictureFillMode.Stretch);
// 加载图像
IPPImage imgx;
IImage image = Images.fromFile("Desert.jpg");
try {
imgx = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
// 将图像添加到演示文稿的图像集合中
pres.getSlides().get_Item(0).getBackground().getFillFormat().getPictureFillFormat().getPicture().setImage(imgx);
// 将演示文稿写入磁盘
pres.save("ContentBG_Img.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}
改变背景图像的透明度
您可能希望调整幻灯片背景图像的透明度,以使幻灯片内容更加突出。以下 Java 代码示例演示如何更改幻灯片背景图像的透明度:
int transparencyValue = 30; // 例如
// 获取图片转换操作的集合
IImageTransformOperationCollection imageTransform = slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().getImageTransform();
// 查找带有固定百分比的透明度效果。
AlphaModulateFixed transparencyOperation = null;
for (IImageTransformOperation operation : imageTransform)
{
if (operation instanceof AlphaModulateFixed)
{
transparencyOperation = (AlphaModulateFixed)operation;
break;
}
}
// 设置新的透明度值。
if (transparencyOperation == null)
{
imageTransform.addAlphaModulateFixedEffect(100 - transparencyValue);
}
else
{
transparencyOperation.setAmount(100 - transparencyValue);
}
获取幻灯片背景的值
Aspose.Slides 提供了 IBackgroundEffectiveData 接口,以允许您获取幻灯片背景的有效值。该接口包含有关有效 FillFormat 和有效 EffectFormat) 的信息。
使用 BaseSlide 类中的 Background 属性,您可以获取幻灯片背景的有效值。
以下 Java 代码示例演示如何获取幻灯片的有效背景值:
// 创建 Presentation 类的实例
Presentation pres = new Presentation("SamplePresentation.pptx");
try {
IBackgroundEffectiveData effBackground = pres.getSlides().get_Item(0).getBackground().getEffective();
if (effBackground.getFillFormat().getFillType() == FillType.Solid)
System.out.println("填充颜色: " + effBackground.getFillFormat().getSolidFillColor());
else
System.out.println("填充类型: " + effBackground.getFillFormat().getFillType());
} finally {
if (pres != null) pres.dispose();
}