在服务器端动态生成gif or jpg示例 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 在服务器端动态生成gif or jpg示例 (http://www.webasp.net/article/7/6877.htm) |
| -- 作者:未知 -- 发布日期: 2003-07-26 |
| package web.images; /** * 此处插入类型描述。 * 创建日期:(2002-6-6 9:59:00) * @author:Administrator */ import java.io.*; import java.util.*; import com.sun.image.codec.jpeg.*; import java.awt.image.*; import java.awt.*; public class ChartGraphics { BufferedImage image; public void createImage(String fileLocation) { try { FileOutputStream fos = new FileOutputStream(fileLocation); BufferedOutputStream bos = new BufferedOutputStream(fos); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos); encoder.encode(image); bos.close(); } catch(Exception e) { System.out.println(e); } } public void graphicsGeneration(int h1,int h2,int h3,int h4,int h5) { final int X=10; int imageWidth = 800;//图片的宽度 int imageHeight =900;//图片的高度 int columnWidth=70;//柱的宽度 int columnHeight=800;//柱的最大高度 ChartGraphics chartGraphics = new ChartGraphics(); chartGraphics.image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB); Graphics graphics = chartGraphics.image.getGraphics(); graphics.setColor(Color.white); graphics.fillRect(0,0,imageWidth,imageHeight); graphics.setColor(Color.black); //graphics.setXORMode(Color.blue); graphics.drawLine(columnWidth+X,columnHeight-h5-50,columnWidth+X,columnHeight);//Y轴 graphics.drawLine(columnWidth+X,columnHeight-h5-50,columnWidth+X-10,columnHeight-h5-40);//Y轴箭头左 graphics.drawLine(columnWidth+X,columnHeight-h5-50,columnWidth+X+10,columnHeight-h5-40);//Y轴箭头右 graphics.drawLine(750,columnHeight,columnWidth+X,columnHeight);//X轴 graphics.drawLine(750,columnHeight,740,columnHeight-10);//X轴 graphics.drawLine(750,columnHeight,740,columnHeight+10);//X轴 graphics.setColor(Color.yellow); graphics.fillRect(X+1*columnWidth+10, columnHeight-h1, columnWidth, h1); graphics.fillRect(X+2*columnWidth+20, columnHeight-h2, columnWidth, h2); graphics.fillRect(X+3*columnWidth+30, columnHeight-h3, columnWidth, h3); graphics.fillRect(X+4*columnWidth+40, columnHeight-h4, columnWidth, h4); graphics.fillRect(X+5*columnWidth+50, columnHeight-h5, columnWidth, h5); //graphics.drawString() chartGraphics.createImage("D:\\leaderquery\\leaderqueryWeb\\web800\\images\\chart.jpg"); } } |
| webasp.net |