我在java中编写了个柱状图,可运行了,我想让柱状图在JSP页面中显示,请问有什么方法么?谢谢。
展开全部
用 Graphics 类
public void graphicsGeneration(int h1,int h2,int h3,int h4,int h5) {
final int X=10;
int imageWidth = 300;//图片的宽度
int imageHeight = 300;//图片的高度
int columnWidth=30;//柱的宽度
int columnHeight=200;//柱的最大高度
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.red);
graphics.drawRect(X+1*columnWidth, columnHeight-h1, columnWidth, h1);
graphics.drawRect(X+2*columnWidth, columnHeight-h2, columnWidth, h2);
graphics.drawRect(X+3*columnWidth, columnHeight-h3, columnWidth, h3);
graphics.drawRect(X+4*columnWidth, columnHeight-h4, columnWidth, h4);
graphics.drawRect(X+5*columnWidth, columnHeight-h5, columnWidth, h5);
chartGraphics.createImage("D:\\temp\\chart.jpg");
}
}
希望能对你有帮助
public void graphicsGeneration(int h1,int h2,int h3,int h4,int h5) {
final int X=10;
int imageWidth = 300;//图片的宽度
int imageHeight = 300;//图片的高度
int columnWidth=30;//柱的宽度
int columnHeight=200;//柱的最大高度
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.red);
graphics.drawRect(X+1*columnWidth, columnHeight-h1, columnWidth, h1);
graphics.drawRect(X+2*columnWidth, columnHeight-h2, columnWidth, h2);
graphics.drawRect(X+3*columnWidth, columnHeight-h3, columnWidth, h3);
graphics.drawRect(X+4*columnWidth, columnHeight-h4, columnWidth, h4);
graphics.drawRect(X+5*columnWidth, columnHeight-h5, columnWidth, h5);
chartGraphics.createImage("D:\\temp\\chart.jpg");
}
}
希望能对你有帮助
更多追问追答
追问
这还是java啊,JSP页面上写什么啊?另外,h1,h2的代表什么?你给的链接我以前看过,没用啊。
追答
h1,h2 代表了柱形图的高度
你可以这样试一试
function createImgItem(count){
var div=document.createElement("");
var img=document.createElement("");
img.src="getCertReviewInfoImg.jspx?perCertId=${perCertId}&reviewIndex="+count;
div.appendChild(img);
$("querygrid").appendChild(div);
}
然后再登陆时就调用该方法
createImgItem(length);
注意:
(1):首先 img.src="getCertReviewInfoImg.jspx 就是 action 中的名称
(2):action 中调用打印的方法
private void printImage(InputStream is){
HttpServletResponse response= ServletActionContext.getResponse();
response.reset();
response.setContentType("image/jpeg");
response.setHeader("Content-disposition","attachment");
ServletOutputStream sos=null;
try{
sos=response.getOutputStream();
byte[] buffer=new byte[1024];
while(is.read(buffer)!=-1){
sos.write(buffer, 0, buffer.length);
}
is.close();
sos.flush();
}catch(Exception ex){
}finally{
if (sos!=null){
try{sos.close();}catch(Exception e){}
}
}
}
(3):把图片转换成 输出流(InputStream )
参考资料: http://www.yesky.com/20030318/1657844.shtml
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已经完成了,虽然大侠回答的好全,我还是看不懂,新手,谢谢。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用流,和通常的图像验证码的输出一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询