当图片覆盖在文字的上方,文本会被图片遮盖从而无法阅读。这时,您可以通过设置图片的透明度来显示文字。本文将介绍怎样使用 Spire.Presentation for Java 将图片插入到幻灯片的特定位置,并通过 Java 设置 PowerPoint 中图片的透明度。
安装 Spire.Presentation for Java
首先,您需要在 Java 程序中添加 Spire.Presentation.jar 文件作为依赖项。JAR 文件可以从此链接下载。如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.presentation</artifactId>
<version>9.11.3</version>
</dependency>
</dependencies>
设置 PowerPoint 中图像的透明度
在此代码示例中涉及到多个类和方法,因此我们提供了下表,方便您更好地了解它们。
名字 | 释义 |
IAutoShape Interface | 表示形状 |
ShapeList Class | 表示形状的集合 |
PictureFillFormat Class | 表示图片填充的格式 |
ShapeList.appendShape(ShapeType.shapeType, Rectangle2D.Double) Method | 添加新图片到列表 |
IAutoShape.getLine().setFillType(FillFormatType.value) Method | 设置线条的填充格式 |
IAutoShape.getFill().setFillType(FillFormatType.value) Method | 设置形状的填充格式 |
IAutoShape.getFill().getPictureFill() Method | 获取图片填充格式 |
PictureFillFormat.setFillType(PictureFillType.value) Method | 设置图片填充模式 |
PictureFillFormat.getPicture().setUrl(java.lang.String value) Method | 设置填充图像的图片的 URL |
PictureFillFormat.getPicture().setTransparency() Method | 设置图片填充的透明度 |
下面是设置 PowerPoint 中图像透明度的具体步骤:
- 创建一个 Presentation 类的实例,然后使用 Presentation.loadFromFile() 方法加载 PowerPoint 文档。
- 通过 Presentation.getSlides().get() 方法获取指定幻灯片,然后使用 ShapeList.appendShape(ShapeType.shapeType, Rectangle2D.Double) 方法,将一个形状插入到幻灯片的指定位置。
- 用图片填充形状,利用 IAutoShape.getFill().setFillType(FillFormatType.value) 方法来设置填充的格式。
- 通过 IAutoShape.getFill().getPictureFill() 获取图片填充格式。
- 使用 PictureFillFormat.setFillType(PictureFillType.value) 方法设置图片的填充格式,使用 PictureFillFormat.getPicture().setUrl(java.lang.String value) 方法设置图片的 URL,通过 PictureFillFormat.getPicture().setTransparency() 方法设置图像的透明度。
- 利用 Presentation.saveToFile() 方法保存修改后的文档。
- Java
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;
import java.awt.geom.Rectangle2D;
public class SetImageTransparency {
public static void main(String[] args) throws Exception {
// 创建一个 Presentation 类的实例
Presentation presentation = new Presentation();
// 加载 PowerPoint 示例文档
presentation.loadFromFile("/空白幻灯片.pptx");
// 在第一页幻灯片的指定位置插入一个形状
Rectangle2D.Double rect1 = new Rectangle2D.Double(50, 130, 275, 150);
IAutoShape shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, rect1);
// 用图片填充这个形状
shape.getLine().setFillType(FillFormatType.NONE);// 设置填充格式
shape.getFill().setFillType(FillFormatType.PICTURE);// 设置填充的类型
shape.getFill().getPictureFill().getPicture().setUrl("Logo1.png");// 设置链接图片的 URL
shape.getFill().getPictureFill().setFillType(PictureFillType.STRETCH);// 设置图片填充模式
// 设置图片的透明度
shape.getFill().getPictureFill().getPicture().setTransparency(50);
// 保存修改后的 PowerPoint 文档
presentation.saveToFile("/设置图片透明度.pptx", FileFormat.PPTX_2010);
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。