本文共 3909 字,大约阅读时间需要 13 分钟。
本文将使用Spire.Presentation for Java库来展示如何在PPT中绘制各种图形的方法。该库支持多种图形类型,且无需安装Microsoft PowerPoint即可运行。
lib文件夹。Spire.Presentation.jar文件复制到lib目录。lib目录下的Spire.Presentation.jar文件。如果项目使用Maven,可以通过添加仓库地址来安装依赖:
com.spire spire-presentation 2.2.3
以下是使用Spire.Presentation库绘制PPT图形的示例代码:
import com.spire.presentation.*;import com.spire.presentation.drawing.*;import javax.imageio.ImageIO;import java.awt.*;import java.awt.geom.Rectangle2D;import java.awt.image.BufferedImage;import java.io.File;public class CreateShapes_PPT { public static void main(String[] args) throws Exception { // 创建新的PowerPoint文档 Presentation presentation = new Presentation(); // 添加三角形并设置填充 IAutoShape triangle = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(115, 130, 100, 100)); triangle.getFill().setFillType(FillFormatType.SOLID); triangle.getFill().getSolidColor().setColor(Color.ORANGE); triangle.getShapeStyle().getLineColor().setColor(Color.WHITE); // 添加椭圆并设置图片填充 IAutoShape ellipse = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.ELLIPSE, new Rectangle2D.Double(290, 130, 150, 100)); ellipse.getFill().setFillType(FillFormatType.PICTURE); ellipse.getFill().getPictureFill().setFillType(PictureFillType.STRETCH); BufferedImage logoImage = ImageIO.read(new File("logo.png")); ellipse.getFill().getPictureFill().getPicture().setEmbedImage( presentation.getImages().append(logoImage)); // 添加心形并设置图案填充 IAutoShape heart = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.HEART, new Rectangle2D.Double(515, 130, 130, 100)); heart.getFill().setFillType(FillFormatType.PATTERN); heart.getFill().getPattern().setPatternType(PatternFillType.LARGE_GRID); // 添加五角星并设置渐变填充 IAutoShape fiveStar = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.FIVE_POINTED_STAR, new Rectangle2D.Double(115, 300, 115, 115)); fiveStar.getFill().setFillType(FillFormatType.GRADIENT); fiveStar.getFill().getGradient().getGradientStops().append(0, KnownColors.RED); fiveStar.getFill().getGradient().getGradientStops().append(1, KnownColors.LIGHT_SALMON); // 添加矩形并设置渐变填充 IAutoShape hexagon = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.HEXAGON, new Rectangle2D.Double(290, 300, 140, 125)); hexagon.getFill().setFillType(FillFormatType.GRADIENT); hexagon.getFill().getGradient().getGradientStops().append(0, KnownColors.LIGHT_PINK); hexagon.getFill().getGradient().getGradientStops().append(1, KnownColors.LIGHT_SKY_BLUE); // 添加箭头并设置渐变填充 IAutoShape arrow = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.DOUBLE_WAVE, new Rectangle2D.Double(515, 300, 130, 100)); arrow.getFill().setFillType(FillFormatType.GRADIENT); arrow.getFill().getGradient().getGradientStops().append(1f, KnownColors.OLIVE); arrow.getFill().getGradient().getGradientStops().append(0, KnownColors.POWDER_BLUE); } // 保存文档 presentation.saveToFile("AddShapes.pptx", FileFormat.PPTX_2010);} 通过上述代码,可以看到以下图形类型及其填充方式:
ShapeType枚举类查看所有图形类型。这篇文章通过简洁的代码和详细的说明,帮助开发者快速掌握使用Spire.Presentation库绘制PPT图形的方法。
转载地址:http://rknkz.baihongyu.com/