Java如何在PPT中繪制圖形

 更新時間:2019-08-25 10:59:10   作者:佚名   我要評論(0)

Microsoft PowerPoint可支持在幻燈片中插入各種類型的圖形并且可設置圖形填充、線條顏色、圖形大小、位置等。下面將通過Java編程來演示在PPT中繪制圖形的方法

Microsoft PowerPoint可支持在幻燈片中插入各種類型的圖形并且可設置圖形填充、線條顏色、圖形大小、位置等。下面將通過Java編程來演示在PPT中繪制圖形的方法。

工具:Free Spire.Presentation for Java

Jar文件導入方法1:通過官網下載。

Step1:在程序中新建一個Directory目錄并命名為lib;并將控件包中的Spire.Presentation.jar(可在解壓控件包下的lib文件中獲取)直接復制該目錄下。

Step2: 選中復制后的Spire.Presentation.jar文件,鼠標右鍵,選擇“Add as library”。完成引用。

Jar文件導入方法2:通過Maven倉庫安裝。

Java代碼示例(供參考)

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 shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(115, 130, 100, 100)); 
    shape.getFill().setFillType(FillFormatType.SOLID); 
    shape.getFill().getSolidColor().setColor(Color.orange); 
    shape.getShapeStyle().getLineColor().setColor(Color.white); 
 
    //添加一個橢圓,并設置圖片填充 
    shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.ELLIPSE, new Rectangle2D.Double(290, 130, 150, 100)); 
    shape.getFill().setFillType(FillFormatType.PICTURE); 
    shape.getFill().getPictureFill().setFillType(PictureFillType.STRETCH); 
    BufferedImage image = ImageIO.read(new File("logo.png")); 
    shape.getFill().getPictureFill().getPicture().setEmbedImage(presentation.getImages().append(image)); 
    shape.getShapeStyle().getLineColor().setColor(Color.white); 
 
    //添加一個心形,并設置圖案填充 
    shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.HEART, new Rectangle2D.Double(515, 130, 130, 100)); 
    shape.getFill().setFillType(FillFormatType.PATTERN); 
    shape.getFill().getPattern().setPatternType(PatternFillType.LARGE_GRID); 
    shape.getShapeStyle().getLineColor().setColor(Color.white); 
 
    //添加一個五角星,并設置漸變填充 
    shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.FIVE_POINTED_STAR, new Rectangle2D.Double(115, 300, 115, 115)); 
    shape.getFill().setFillType(FillFormatType.GRADIENT); 
    shape.getFill().getGradient().getGradientStops().append(0, KnownColors.RED); 
    shape.getFill().getGradient().getGradientStops().append(1, KnownColors.LIGHT_SALMON); 
    shape.getShapeStyle().getLineColor().setColor(Color.white); 
 
    //添加一個矩形,并設置漸變填充 
    shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.HEXAGON, new Rectangle2D.Double(290, 300, 140, 125)); 
    shape.getFill().setFillType(FillFormatType.GRADIENT); 
    shape.getFill().getGradient().getGradientStops().append(0, KnownColors.LIGHT_PINK); 
    shape.getFill().getGradient().getGradientStops().append(1, KnownColors.LIGHT_SKY_BLUE); 
    shape.getShapeStyle().getLineColor().setColor(Color.white); 
 
    //添加一個向上的箭頭,并設置漸變填充 
    shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.DOUBLE_WAVE, new Rectangle2D.Double(515, 300, 130, 100)); 
    shape.getFill().setFillType(FillFormatType.GRADIENT); 
    shape.getFill().getGradient().getGradientStops().append(1f, KnownColors.OLIVE); 
    shape.getFill().getGradient().getGradientStops().append(0, KnownColors.POWDER_BLUE); 
    shape.getShapeStyle().getLineColor().setColor(Color.white); 
     
    //保存文檔 
    presentation.saveToFile("AddShapes.pptx", FileFormat.PPTX_2010); 
  } 
} 

圖形繪制效果:

注:

1. 這個庫支持的圖形種類很多,例如下圖:

2. 以上庫的使用環境可以不用安裝Microsoft PowerPoint

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

  • java實現PPT轉PDF出現中文亂碼問題的解決方法
  • java使用poi讀取ppt文件和poi讀取excel、word示例
  • java讀取word-excel-ppt文件代碼
  • JavaMe開發繪制可自動換行文本
  • java讀取wav文件(波形文件)并繪制波形圖的方法
  • java分形繪制科赫雪花曲線(科赫曲線)代碼分享

相關文章

  • Java如何在PPT中繪制圖形

    Java如何在PPT中繪制圖形

    Microsoft PowerPoint可支持在幻燈片中插入各種類型的圖形并且可設置圖形填充、線條顏色、圖形大小、位置等。下面將通過Java編程來演示在PPT中繪制圖形的方法
    2019-08-25
  • PHP實現與java 通信的插件使用教程

    PHP實現與java 通信的插件使用教程

    由于公司這塊項目需要和java對接的一些東西 又不想用webservice 所以弄了個php模塊 折騰了好長時間編譯一直過不去. 索性就把源碼修改了.經測試可用. 另外附
    2019-08-25
  • android 實現APP中改變頭像圖片的實例代碼

    android 實現APP中改變頭像圖片的實例代碼

    具體代碼如下所示: package com.example.studyapplication.fragment; import android.app.Activity; import android.app.AlertDialog; import android.con
    2019-08-25
  • MySQL性能優化神器Explain的基本使用分析

    MySQL性能優化神器Explain的基本使用分析

    簡介 MySQL 提供了一個 EXPLAIN 命令, 它可以對 SELECT 語句進行分析, 并輸出 SELECT 執行的詳細信息, 以供開發人員針對性優化. EXPLAIN 命令用法十分簡
    2019-08-25
  • java使用RSA與AES加密解密的實例代碼詳解

    java使用RSA與AES加密解密的實例代碼詳解

    首先了解下,什么是堆成加密,什么是非對稱加密?   對稱加密:加密與解密的密鑰是相同的,加解密速度很快,比如AES   非對稱加密:加密與解密的秘鑰是不
    2019-08-25
  • Java模擬并解決緩存穿透問題

    Java模擬并解決緩存穿透問題

    什么叫做緩存穿透 緩存穿透只會發生在高并發的時候,就是當有10000個并發進行查詢數據的時候,我們一般都會先去redis里面查詢進行數據,但是如果redis里面沒有
    2019-08-25
  • 為什么阿里要慎重使用ArrayList中的subList方法

    為什么阿里要慎重使用ArrayList中的subList方法

    前言 集合是Java開發日常開發中經常會使用到的。 關于集合類,《阿里巴巴Java開發手冊》中其實還有另外一個規定: 本文就來分析一下為什么會有如此建議?其背
    2019-08-25
  • java枚舉是如何保證線程安全的

    java枚舉是如何保證線程安全的

    前言 寫在前面:Java SE5提供了一種新的類型-Java的枚舉類型,關鍵字enum可以將一組具名的值的有限集合創建為一種新的類型,而這些具名的值可以作為常規的程序
    2019-08-25
  • 千萬別這樣使用Arrays.asList詳解

    千萬別這樣使用Arrays.asList詳解

    前言 使用Arrays.asList()的原因無非是想將數組或一些元素轉為集合,而你得到的集合并不一定是你想要的那個集合。 而一開始asList的設計時用于打印數組而設計的
    2019-08-25
  • 深入學習springboot線程池的使用和擴展

    深入學習springboot線程池的使用和擴展

    前言 我們常用ThreadPoolExecutor提供的線程池服務,springboot框架提供了@Async注解,幫助我們更方便的將業務邏輯提交到線程池中異步執行,今天我們就來實戰
    2019-08-25

最新評論

二分时时彩规律