JfreeChart 如何获取图片

来源:互联网 发布:税收数据质量检查报告 编辑:程序博客网 时间:2024/05/17 01:03

如何获取图片

JFreeChart组件能够生成.JPEG、.PNG格式的图片,其输出方式可以直接存储在硬盘中,也可以交给JFreeChart组件进行管理。在Web应用中,所生成的图形报表一般均为动态图表,如果对每次生成的图表都进行直接存储,将会产生大量的垃圾文件,时间长了必须进行清理。因此,由 JFreeChart组件进行管理来生成图片是一个不错的选择,它不仅可以提供图片的路径,而且在查看图片后JFreeChart组件会自动进行清理。

(1)配置JFreeChart

JFreeChart组件提供了一个Servlet文件用于获取生成的图片,此Servlet文件存在于JFreeChart组件包中,所以在使用过程中,需要将其配置到Web.xml文件中。其配置方法如下:

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5" xmlns=http://java.sun.com/xml/ns/javaee    xmlns:xsi=
http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
  <servlet>  
      <servlet-name>DisplayChart</servlet-name>  
        <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>  
    </servlet>  
<servlet-mapping>  
        <servlet-name>DisplayChart</servlet-name>  
       <url-pattern>/servlet/DisplayChart</url-pattern>  
    </servlet-mapping>  
</web-app> 

从上述代码可以看出,其配置与普通的Servlet配置是完全相同的。

(2)获取图片

在输出图片之前,首先要生成JFreeChart组件所绘制的图片。此操作通过调用ServletUtilities类的saveChartAsJPEG()方法来实现,它返回一个.JPEG格式的图片名称。

语法:

public
 static
 String saveChartAsJPEG(JFreeChart chart, int width,  
int height, HttpSession session)       
throws IOException 

chart:制图对象JfreeChart。

width:所生成图片的宽度。

height:所生成图片的高度。

session:HttpSession对象。
通过此方法生成图片后,调用已注册的JFreeChart提供的Servlet类DisplayChart,即可获取图片的相对路径。

例如,在JSP页面中获取图片,代码如下。

<% String fileName = ServletUtilities.saveChartAsJPEG(ChartUtil.createChart(), 450300, session);  
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + fileName;  

%>

 

上述代码生成了一个宽为450、高为300的图片,其文件名为fileName,其路径为graphURL,通过此路径即可对所生成的图片进行访问。

原创粉丝点击