在服务器端动态生成gif or jpg示例
类别: JAVA教程
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");
}
}
/**
* 此处插入类型描述。
* 创建日期:(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");
}
}
-= 资 源 教 程 =-
文 章 搜 索