我自己做的5个项目的柱状图,就不要版权费了, 你自己调整高度就可以了。package photomart.image; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; import java.awt.*; import java.awt.image.*; import javax.imageio.*; import javax.imageio.stream.*; import com.sun.image.codec.jpeg.*; public class drawvote extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("image/png"); PrintWriter out = response.getWriter(); // int width=124, height=124; BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); //////////////////////////////////////////////////// //初始化背景 g.setColor(new Color(248,208,134)); int pxo[]={0,124,124,0}; int pyo[]={0,0,124,124}; g.fillPolygon(pxo,pyo,4); //画第一个背景 g.setColor(new Color(234,235,236)); int px1_1[]={6,16,16,6}; int py1_1[]={16,6,6+100,16+100}; g.fillPolygon(px1_1,py1_1,4); //画第二个背景 int px1_2[]={16,16+100,16+100,16}; int py1_2[]={6,6,6+100,6+100}; g.fillPolygon(px1_2,py1_2,4); //画第三个背景 int px1_3[]={16,16+100,6+100,6}; int py1_3[]={6+100,6+100,16+100,16+100}; g.fillPolygon(px1_3,py1_3,4); //划分隔线 g.setColor(new Color(175,171,120)); g.drawLine(16,6,16,6+100); g.drawLine(16,6+100,7,15+100); g.drawLine(16,6+100,15+100,6+100); //画坐标系 g.drawString("5",17,6+20); g.drawString("4",17,6+40); g.drawString("3",17,6+60); g.drawString("2",17,6+80); g.drawString("1",17,6+100); g.drawLine(16,6+21,16+5,6+21); g.drawLine(16,6+21,16-4,6+21+4); g.drawLine(16,6+21+20,16+5,6+21+20); g.drawLine(16,6+21+20,16-4,6+21+4+20); g.drawLine(16,6+21+40,16+5,6+21+40); g.drawLine(16,6+21+40,16-4,6+21+4+40); g.drawLine(16,6+21+60,16+5,6+21+60); g.drawLine(16,6+21+60,16-4,6+21+4+60); //画直方图 { //1 //1.1 g.setColor(new Color(132,215,236)); int dya=72; int bx=26,by=111; int zax[]={bx,bx,bx+10,bx+10}; int zay[]={by,by-dya,by-dya,by}; g.fillPolygon(zax,zay,4); //1.2 int zax2[]={bx+10,bx+10,bx+10+5,bx+10+5}; int zay2[]={by,by-dya,by-dya-5,by-5}; g.fillPolygon(zax2,zay2,4); //1.3 int zax3[]={bx-1,bx+5-1,bx+10+5,bx+10}; int zay3[]={by-dya,by-dya-5,by-dya-5,by-dya}; g.setColor(new Color(187,80,252)); g.fillPolygon(zax3,zay3,4); g.setColor(new Color(132,215,236)); } { //2 //2.1 int dya=45; int bx=43,by=111; int zax[]={bx,bx,bx+10,bx+10}; int zay[]={by,by-dya,by-dya,by}; g.fillPolygon(zax,zay,4); //2.2 int zax2[]={bx+10,bx+10,bx+10+5,bx+10+5}; int zay2[]={by,by-dya,by-dya-5,by-5}; g.fillPolygon(zax2,zay2,4); //2.3 int zax3[]={bx-1,bx+5-1,bx+10+5,bx+10}; int zay3[]={by-dya,by-dya-5,by-dya-5,by-dya}; g.setColor(new Color(187,80,252)); g.fillPolygon(zax3,zay3,4); g.setColor(new Color(132,215,236)); } { //3 //3.1 int dya=50; int bx=60,by=111; int zax[]={bx,bx,bx+10,bx+10}; int zay[]={by,by-dya,by-dya,by}; g.fillPolygon(zax,zay,4); //3.2 int zax2[]={bx+10,bx+10,bx+10+5,bx+10+5}; int zay2[]={by,by-dya,by-dya-5,by-5}; g.fillPolygon(zax2,zay2,4); //3.3 int zax3[]={bx-1,bx+5-1,bx+10+5,bx+10}; int zay3[]={by-dya,by-dya-5,by-dya-5,by-dya}; g.setColor(new Color(187,80,252)); g.fillPolygon(zax3,zay3,4); g.setColor(new Color(132,215,236)); } { //4 //4.1 int dya=40; int bx=77,by=111; int zax[]={bx,bx,bx+10,bx+10}; int zay[]={by,by-dya,by-dya,by}; g.fillPolygon(zax,zay,4); //4.2 int zax2[]={bx+10,bx+10,bx+10+5,bx+10+5}; int zay2[]={by,by-dya,by-dya-5,by-5}; g.fillPolygon(zax2,zay2,4); //4.3 int zax3[]={bx-1,bx+5-1,bx+10+5,bx+10}; int zay3[]={by-dya,by-dya-5,by-dya-5,by-dya}; g.setColor(new Color(187,80,252)); g.fillPolygon(zax3,zay3,4); g.setColor(new Color(132,215,236)); } { //5 //5.1 int dya=80; int bx=94,by=111; int zax[]={bx,bx,bx+10,bx+10}; int zay[]={by,by-dya,by-dya,by}; g.fillPolygon(zax,zay,4); //5.2 int zax2[]={bx+10,bx+10,bx+10+5,bx+10+5}; int zay2[]={by,by-dya,by-dya-5,by-5}; g.fillPolygon(zax2,zay2,4); //5.3 int zax3[]={bx-1,bx+5-1,bx+10+5,bx+10}; int zay3[]={by-dya,by-dya-5,by-dya-5,by-dya}; g.setColor(new Color(187,80,252)); g.fillPolygon(zax3,zay3,4); g.setColor(new Color(132,215,236)); } //////////////////////////////////////////////////// g.dispose(); ServletOutputStream sos = response.getOutputStream(); ImageIO.write(image,"PNG",sos); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
to u22(zhxih): 做好了servlet以后如何显示?
to u22(zhxih): 你的有一行代码不知什么意思?去掉以后才能编译成功,希望听到你的解答 PrintWriter out = response.getWriter();
你自己调整高度就可以了。package photomart.image;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.imageio.stream.*;
import com.sun.image.codec.jpeg.*;
public class drawvote extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/png");
PrintWriter out = response.getWriter();
//
int width=124, height=124;
BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
////////////////////////////////////////////////////
//初始化背景
g.setColor(new Color(248,208,134));
int pxo[]={0,124,124,0};
int pyo[]={0,0,124,124};
g.fillPolygon(pxo,pyo,4);
//画第一个背景
g.setColor(new Color(234,235,236));
int px1_1[]={6,16,16,6};
int py1_1[]={16,6,6+100,16+100};
g.fillPolygon(px1_1,py1_1,4);
//画第二个背景
int px1_2[]={16,16+100,16+100,16};
int py1_2[]={6,6,6+100,6+100};
g.fillPolygon(px1_2,py1_2,4);
//画第三个背景
int px1_3[]={16,16+100,6+100,6};
int py1_3[]={6+100,6+100,16+100,16+100};
g.fillPolygon(px1_3,py1_3,4);
//划分隔线
g.setColor(new Color(175,171,120));
g.drawLine(16,6,16,6+100);
g.drawLine(16,6+100,7,15+100);
g.drawLine(16,6+100,15+100,6+100);
//画坐标系
g.drawString("5",17,6+20);
g.drawString("4",17,6+40);
g.drawString("3",17,6+60);
g.drawString("2",17,6+80);
g.drawString("1",17,6+100); g.drawLine(16,6+21,16+5,6+21);
g.drawLine(16,6+21,16-4,6+21+4); g.drawLine(16,6+21+20,16+5,6+21+20);
g.drawLine(16,6+21+20,16-4,6+21+4+20); g.drawLine(16,6+21+40,16+5,6+21+40);
g.drawLine(16,6+21+40,16-4,6+21+4+40); g.drawLine(16,6+21+60,16+5,6+21+60);
g.drawLine(16,6+21+60,16-4,6+21+4+60);
//画直方图
{
//1
//1.1
g.setColor(new Color(132,215,236));
int dya=72;
int bx=26,by=111;
int zax[]={bx,bx,bx+10,bx+10};
int zay[]={by,by-dya,by-dya,by};
g.fillPolygon(zax,zay,4);
//1.2
int zax2[]={bx+10,bx+10,bx+10+5,bx+10+5};
int zay2[]={by,by-dya,by-dya-5,by-5};
g.fillPolygon(zax2,zay2,4);
//1.3
int zax3[]={bx-1,bx+5-1,bx+10+5,bx+10};
int zay3[]={by-dya,by-dya-5,by-dya-5,by-dya};
g.setColor(new Color(187,80,252));
g.fillPolygon(zax3,zay3,4);
g.setColor(new Color(132,215,236));
} {
//2
//2.1
int dya=45;
int bx=43,by=111;
int zax[]={bx,bx,bx+10,bx+10};
int zay[]={by,by-dya,by-dya,by};
g.fillPolygon(zax,zay,4);
//2.2
int zax2[]={bx+10,bx+10,bx+10+5,bx+10+5};
int zay2[]={by,by-dya,by-dya-5,by-5};
g.fillPolygon(zax2,zay2,4);
//2.3
int zax3[]={bx-1,bx+5-1,bx+10+5,bx+10};
int zay3[]={by-dya,by-dya-5,by-dya-5,by-dya};
g.setColor(new Color(187,80,252));
g.fillPolygon(zax3,zay3,4);
g.setColor(new Color(132,215,236));
} {
//3
//3.1
int dya=50;
int bx=60,by=111;
int zax[]={bx,bx,bx+10,bx+10};
int zay[]={by,by-dya,by-dya,by};
g.fillPolygon(zax,zay,4);
//3.2
int zax2[]={bx+10,bx+10,bx+10+5,bx+10+5};
int zay2[]={by,by-dya,by-dya-5,by-5};
g.fillPolygon(zax2,zay2,4);
//3.3
int zax3[]={bx-1,bx+5-1,bx+10+5,bx+10};
int zay3[]={by-dya,by-dya-5,by-dya-5,by-dya};
g.setColor(new Color(187,80,252));
g.fillPolygon(zax3,zay3,4);
g.setColor(new Color(132,215,236));
} {
//4
//4.1
int dya=40;
int bx=77,by=111;
int zax[]={bx,bx,bx+10,bx+10};
int zay[]={by,by-dya,by-dya,by};
g.fillPolygon(zax,zay,4);
//4.2
int zax2[]={bx+10,bx+10,bx+10+5,bx+10+5};
int zay2[]={by,by-dya,by-dya-5,by-5};
g.fillPolygon(zax2,zay2,4);
//4.3
int zax3[]={bx-1,bx+5-1,bx+10+5,bx+10};
int zay3[]={by-dya,by-dya-5,by-dya-5,by-dya};
g.setColor(new Color(187,80,252));
g.fillPolygon(zax3,zay3,4);
g.setColor(new Color(132,215,236));
} {
//5
//5.1
int dya=80;
int bx=94,by=111;
int zax[]={bx,bx,bx+10,bx+10};
int zay[]={by,by-dya,by-dya,by};
g.fillPolygon(zax,zay,4);
//5.2
int zax2[]={bx+10,bx+10,bx+10+5,bx+10+5};
int zay2[]={by,by-dya,by-dya-5,by-5};
g.fillPolygon(zax2,zay2,4);
//5.3
int zax3[]={bx-1,bx+5-1,bx+10+5,bx+10};
int zay3[]={by-dya,by-dya-5,by-dya-5,by-dya};
g.setColor(new Color(187,80,252));
g.fillPolygon(zax3,zay3,4);
g.setColor(new Color(132,215,236));
}
////////////////////////////////////////////////////
g.dispose();
ServletOutputStream sos = response.getOutputStream();
ImageIO.write(image,"PNG",sos);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
做好了servlet以后如何显示?
你的有一行代码不知什么意思?去掉以后才能编译成功,希望听到你的解答
PrintWriter out = response.getWriter();