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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java分形绘制科赫雪花曲线(科赫曲线)代码分享

    首先我们举个例子:我们可以看到西兰花一小簇是整个花簇的一个分支,而在不同尺度下它们具有自相似的外形.换句话说,较小的分支通过放大适当的比例后可以得到一个与整体几乎完全一致的花簇.因此我们可以说西兰花簇是一个分形的实例.分形一般有以下特质:在任意小的尺度上都能有精细的结构: 太不规则,以至难以用传统欧氏几何的语言描述: (至少是大略或任意地)自相似豪斯多夫维数会大於拓扑维数: 有著简单的递归定义.(i)分形集都具有任意小尺度下的比例细节,或者说它具有精细的结构.(ii)分形集不能用传统的几何语言来

  • java读取word-excel-ppt文件代码

    WORD: import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.poi.hwpf.extractor.WordExtractor; import java.io.File; import java.io.InputStream; import java.io.FileInputStream; import com.search.code.Ind

  • java使用poi读取ppt文件和poi读取excel、word示例

    Apache的POI项目可以用来处理MS Office文档,codeplex上还有一个它的.net版本.POI项目可创建和维护操作各种基于OOXML和OLE2文件格式的Java API.大多数MS Office都是OLE2格式的.POI通HSMF子项目来支持Outlook,通过HDGF子项目来支持Visio,通过HPBF子项目来支持Publisher. 使用POI抽取Word简单示例: 要引入poi-3.7.jat和poi-scratchpad-3.7.ajr这两个包. 复制代码 代码如下: p

  • java实现PPT转PDF出现中文乱码问题的解决方法

    ppt转成pdf,原理是ppt转成图片,再用图片生产pdf,过程有个问题,不管是ppt还是pptx,都遇到中文乱码,编程方框的问题,其中ppt后缀网上随便找就有解决方案,就是设置字体为统一字体,pptx如果页面是一种中文字体不会有问题,如果一个页面有微软雅黑和宋体,就会导致部分中文方框,怀疑是poi处理的时候,只读取第一种字体,所以导致多个中文字体乱码. 百度和谷歌都找了很久,有看到说apache官网有人说是bug,但他们回复说是字体问题,这个问题其实我觉得poi可能可以自己做,读取原来字体设置

  • java读取wav文件(波形文件)并绘制波形图的方法

    本文实例讲述了java读取wav文件(波形文件)并绘制波形图的方法.分享给大家供大家参考.具体如下: 因为最近有不少网友询问我波形文件读写方面的问题,出于让大家更方便以及让代码能够得到更好的改进,我将这部分(波形文件的读写)代码开源在GitHub上面. 地址为https://github.com/sintrb/WaveAccess/,最新的代码.例子.文档都在那上面,我会在我时间精力允许的前提下对该项目进行维护,同时也希望对这方面有兴趣的网友能够加入到该开源项目上. 以下内容基本都过期了,你可以

  • JavaMe开发绘制可自动换行文本

    [问题描述] JavaMe Graphics类中的drawString不支持文本换行,这样绘制比较长的字符串时,文本被绘制在同一行,超过屏幕部分的字符串被截断了.如何使绘制的文本能自动换行呢? [分析] drawString无法实现自动换行,但可以实现文本绘制的定位.因此可考虑,将文本拆分为多个子串,再对子串进行绘制.拆分的策略如下: 1 遇到换行符,进行拆分: 2 当字符串长度大于设定的长度(一般为屏幕的宽度),进行拆分. [步骤] 1 定义一个String和String []对象: priv

  • Java如何在PPT中绘制图形

    Microsoft PowerPoint可支持在幻灯片中插入各种类型的图形并且可设置图形填充.线条颜色.图形大小.位置等.下面将通过Java编程来演示在PPT中绘制图形的方法. 工具:Free Spire.Presentation for Java Jar文件导入方法1:通过官网下载. Step1:在程序中新建一个Directory目录并命名为lib:并将控件包中的Spire.Presentation.jar(可在解压控件包下的lib文件中获取)直接复制该目录下. Step2: 选中复制后的Sp

  • Java如何为 PPT 中的图形添加阴影效果

    在PowerPoint文档中,给图片添加阴影效果能增强图片的逼真度,使其贴近现实效果,提升文档的美观度. 本文将展示如何使用Free Spire.Presentation for Java为PPT中的图形添加阴影效果.除了文中展示的预设阴影效果,还可以添加内部阴影(InnerShadowEffect).外部阴影(OuterShadowEffect).柔化边缘阴影(SoftEdgeEffect)等. JAR包导入 方法一:下载Free Spire.Presentation for Java包并解压

  • Java实现在PPT中创建SmartArt图形的示例代码

    目录 代码编译环境 引入jar包 创建 SmartArt 图形 完整代码 效果图 SmartArt其实就是一个文字的可视化工具,用户可在PowerPoint,Word,Excel中使用该特性创建各种图形图表.SmartArt 图形是信息和观点的视觉表示形式.可以通过从多种不同布局中进行选择来创建 SmartArt 图形,从而快速.轻松.有效地传达信息.简单的来说SmartArt就是PPT内建的逻辑图表,主要用于表达文本之间的逻辑关系,可帮助你快速.轻松.有效的传达信息.本文就将为您介绍如何通过J

  • 如何在CSS中绘制曲线图形及展示动画

    理解 box-shadow 首先,回顾一下box-shadow这个属性.基本属性用法就是给元素创造一层阴影. 再简单提一下,本文会用到的关于阴影的第一个技巧: 使用阴影复制图像/投影图像 当 box-shadow 的第三.第四个参数模糊半径和扩张半径都为 0 的时候,我们可以得到一个和元素大小一样的阴影: div { width: 80px; height: 80px; border: 1px solid #333; box-sizing: border-box; box-shadow: 80p

  • Java如何在 Word 中设置上、下标

    上标是指比同一行中其他文字稍高的文字,而下标是指比同一行中其他文字稍低的文字.在生活中,我们常见的平方米.立方米等符号以及化学中的各种元素符号,都是利用上.下标来表示的.本文将介绍通过Free Spire.Doc for Java给Word文档中的指定字符或字符串设置上标或者下标的方法. Jar包导入 方法一:下载Free Spire.Doc for Java包并解压缩,然后将lib文件夹下的Spire.Doc.jar包作为依赖项导入到Java应用程序中. 方法二:通过Maven仓库安装JAR包

  • python 如何在 Matplotlib 中绘制垂直线

    介绍 Matplotlib是Python中使用最广泛的数据可视化库之一.Matplotlib的受欢迎程度大部分来自其自定义选项.您可以调整其对象层次结构中的几乎任何元素. 在本教程中,我们将研究如何在Matplotlib图上绘制垂直线,这使我们能够标记和突出显示图的某些区域,而无需缩放或更改轴范围. 创建图 让我们首先用一些随机数据创建一个简单的图: import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots

  • Java如何在PDF中添加ToolTip工具提示

    目录 前言 导入jar包 添加工具提示ToolTip 总结 前言 本文,将介绍如何通过Java后端程序代码在PDF中创建工具提示.添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容. 导入jar包 本次程序中使用的是Free Spire.PDF for Java,具体导入jar文件的方法参考如下内容. 两种方法可导入jar到程序: 方法1. 通过Maven仓库下载导入.在pom.xml配置:​ <repositories> <repository> <id>

  • Java如何在Map中存放重复key

    目录 如何在Map中存放重复key 1.概述 2.将集合作为Value 3.使用Apache Commons Collections 4.Guava Multimap 5.自定义MultiMap Map出现重复Key值叠加到上一个key中 如何在Map中存放重复key 1.概述 本文介绍几种处理Map中一个key对多个value的方法.在JDK标准Map实现中当我们尝试在一个key下插入多个value,那么后续的value会覆盖前面的value. Map<String, String> map

  • java 如何在list中删除我指定的对象

    目录 遍历list,删除指定对象的三种方式 1.再定义一个List,用来保存需要删除的对象 2.不用for-each循环,使用倒序循环删除 3.用迭代器删除 Iterator的工作机制 List集合删除元素的正确姿势 常用的错误方式有以下三种 遍历list,删除指定对象的三种方式 1.再定义一个List,用来保存需要删除的对象 修改部分代码: List<User> userRemove = new ArrayList<User>(); //找出要删除的用户 System.err.p

  • Java 在PPT中添加文本和图片超链接的实现方法

    在文档中添加超链接,可以快速从当前文档跳转至指定的网页或打开指定的外部文件.前文中我们介绍过如何使用Java程序来为Word文档和Excel工作表添加超链接.本文将演示如何在PPT中添加文本和图片超链接. 使用工具:Free Spire.Presentation for Java(免费版)Jar文件获取及导入: 方法1:通过官网下载获取jar包.解压后将lib文件夹下的Spire.Presentation.jar文件导入Java程序.(如下图) 方法2:通过maven仓库安装导入.具体安装教程参

随机推荐