演示文稿背景

纯色、渐变色和图片通常用作幻灯片的背景图像。您可以为普通幻灯片(单张幻灯片)或母版幻灯片(一次多张幻灯片)设置背景。

powerpoint-background

为普通幻灯片设置纯色背景

Aspose.Slides 允许您为演示文稿中的特定幻灯片设置纯色作为背景(即使该演示文稿包含母版幻灯片)。背景的更改仅影响所选幻灯片。

  1. 创建 Presentation 类的实例。
  2. 将幻灯片的 BackgroundType 枚举设置为 OwnBackground
  3. 将幻灯片背景的 FillType 枚举设置为 Solid
  4. 使用 SolidFillColor 属性,指定背景的纯色。
  5. 保存修改后的演示文稿。

这段 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 允许您为演示文稿中的母版幻灯片设置纯色作为背景。母版幻灯片作为模板,包含并控制所有幻灯片的格式设置。因此,当您为母版幻灯片选择纯色作为背景时,该新背景将应用于所有幻灯片。

  1. 创建 Presentation 类的实例。
  2. 将母版幻灯片(Masters)的 BackgroundType 枚举设置为 OwnBackground
  3. 将母版幻灯片背景的 FillType 枚举设置为 Solid
  4. 使用 SolidFillColor 属性,指定背景的纯色。
  5. 保存修改后的演示文稿。

这段 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 允许您为演示文稿中的幻灯片设置渐变色作为背景。

  1. 创建 Presentation 类的实例。
  2. 将幻灯片的 BackgroundType 枚举设置为 OwnBackground
  3. 将母版幻灯片背景的 FillType 枚举设置为 Gradient
  4. 使用 GradientFormat 属性指定您偏好的渐变设置。
  5. 保存修改后的演示文稿。

这段 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 还允许您为演示文稿中的幻灯片设置图片作为背景。

  1. 创建 Presentation 类的实例。
  2. 将幻灯片的 BackgroundType 枚举设置为 OwnBackground
  3. 将母版幻灯片背景的 FillType 枚举设置为 Picture
  4. 加载您要作为幻灯片背景使用的图片。
  5. 将图像添加到演示文稿的图像集合中。
  6. 使用 PictureFillFormat 属性将图像设置为背景。
  7. 保存修改后的演示文稿。

这段 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 的信息。

使用 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();
}