`
xuxiaolei
  • 浏览: 148811 次
  • 性别: Icon_minigender_1
  • 来自: 彩虹之巅
社区版块
存档分类

使用JAVA在JSP中生成饼图

阅读更多

通过在服务器端生成图片 然后这样在页面中的图片可以真正的跨浏览器

package servlets;

import java.awt.*;
import java.awt.image.*;

import javax.imageio.*;

import java.awt.font.*;
import java.awt.geom.*;

import java.io.*;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ImageServlet extends HttpServlet {
	
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}



	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		
		response.setContentType("image/jpeg");
		
		int width = 155;	//图片的宽度和高度
		int height = 155;
		
		int x = 5;
		int y = 5;
		int ellipseWidth = 145;
		int ellipseHeight = 145;

		BufferedImage bi = new BufferedImage(width, height,
				BufferedImage.TYPE_INT_RGB);
		Graphics2D g2 = (Graphics2D) bi.getGraphics();
		
		RenderingHints renderHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING,
			    RenderingHints.VALUE_ANTIALIAS_ON);
		g2.setRenderingHints(renderHints);
		
		g2.setBackground(Color.WHITE);
		g2.clearRect(0, 0, width, height);
		g2.setPaint(Color.BLACK);
		
		//饼状图外面的圆圈
		Ellipse2D.Double ellipse = new Ellipse2D.Double(x, y, ellipseWidth, ellipseHeight);
		g2.draw(ellipse);
		
		g2.setPaint(Color.RED);
		g2.fillArc(x, y, ellipseWidth, ellipseHeight, 0, 120);
		
		g2.setPaint(Color.GREEN);
		g2.fillArc(x, y, ellipseWidth, ellipseHeight, 120 , 120);
		
		g2.setPaint(Color.blue);
		g2.fillArc(x, y, ellipseWidth, ellipseHeight, 240, 120);
		
			
		ImageIO.write(bi, "jpg", response.getOutputStream());
		
	}

}
 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>

<body>
	<img src="http://localhost:8080/myproject/ImageServlet" id="myImg">
</body>

</html>
 

 

分享到:
评论

相关推荐

    轻松使用JSP生成饼图

    我都是在Tomcat调试这些例子,同时我也使用了Sun Java 2 SDK发布的com.sun.image.codec.jpegclasses。数据库设计假设你在一家从事销售新鲜水果的公司上班,公司出售的水果包括:苹果、桔子、葡萄。现在你的老

    java/jsp图表生成-JfreeChart套装(源码包,javadoc,安装手册,本人精选简明教程)

    JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括 柱状图、饼图、曲线图、甘特图等。它能够用在Swing和Web等中制作自定义的图表或报表,并且得 到广泛的应用。 ...

    java jsp+servlet根据数据生成饼状图.rar

    jsp+servlet根据数字生成饼状图.rar

    读取数据库的数据并整合成3D饼图在jsp中显示详解

    本文主要给大家介绍的是关于读取数据库数据整合成3D饼图并在jsp中显示的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 方法如下: 首先我将生成饼图的方法独立写成一个PieChar.java类,...

    安卓实现AChartEngine-饼图+柱形图

    它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt...

    JFreeChart代码示例及jar包

    它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt...

    JFreeChart图表绘制源码

    JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、 散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生 PNG和JPEG格式的输出,还可以与PDF和EXCEL...

    JFreeChart_API

    它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt...

    jfreechart-1.0.14

    它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt...

    jfreechart各类曲线图JSP代码

    JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领...

    jfreechart-1.0.13

    它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt...

    jfreechart

    它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt...

    jfreechart-1.0.15

    它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt...

    基于B_S的模拟股票系统

    现在投资股票的人越来越多的选择...基于B/S结构(Browser/Server结构)设计了Web应用程序模拟股票系统,在系统设计与建模过程中,使用JSP和Java Servlet技术,使用JFreeChart类库绘制图表,力图使系统高效、实用。

    J2EE经典案例设计与实现

    案例4:使用JSP生成饼图 案例5:创建可重用的图形背景 案例6:发送动态图像 案例7:生成用于投票的图片 案例8:JSP调用JavaBean在网页上动态生成柱状图 案例9:实现图片上传 案例10:JSP页面调用Applet实现人民币大...

    java 画图jfreechart

    它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt...

    Jfreechart-1.0.19

    它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt...

Global site tag (gtag.js) - Google Analytics