当前位置:首页 > 全部子站 > IT > 思科认证

Java技巧:实例讲解Servlet的图象处理

来源:长理培训发布时间:2017-12-23 14:05:04

 百度广告

  我们在处理数据时,有时希望能用图象直观的表述,在这里有一个巧方法,能方便快捷的实现一些简单的图形(不能称之图象),比如条形图,我们不必去用 java来生成并显示图象,(java生成图象很慢),我们可以这样来作,先用作图工具作一个很小的你需要的图片,再根据你所处理的数据量来实时的加长它,就可以得到所要表述的图例。比如我们在数据库中得到了一组数据,我们从中找出最大的那一个,按比列设定其标签的长度,其它的数据图形则可与它相比,得到的长度,这样,一个简简单单的条形图就出来。但有时一些简单的图形已经不能解决我们实际遇到的情况,比如曲线图就不能用这种方法,这时我们需要生成Java图象,也许大家都用过applet这样的程序吧,若访问量不大,而实时性又很特殊时(比如股票系统),必须这样用它。但事实上,我们web程序大多有前后台之分,前台浏览,后台维护。这样我们可以在后台用Servlet实时动态定时地生成图象文件,而前台只是查看静态图片,这比你用applet来动态产生图象的速度快了不知多少倍,因为applet来动态产生图象,有两个地方很费时,一是数据库查询时间,二是applet本身生成图象就很慢。下面我以一个简单的例子来说明一下怎样生成并写入图象文件,本例注重的是怎样写入图象文件,相信写过applet的朋友会生成更加漂亮的图象。

 

以下是引用片段:
import Javax.Servlet.*;

import Javax.Servlet.http.*;

import Java.io.*;

import Java.util.*;

import Java.awt.image.BufferedImage;

import com.sun.image.codec.jpeg.*;

import Java.awt.image.*;

import Java.awt.*;

public class Servlet2 extends HttpServlet {

public void init(ServletConfig config) throws ServletException {

super.init(config);

}

public void doGet(HttpServletRequest request, HttpServletResponse response)  

String sFileName = "e:/temp/name.jpg";

try{

FileOutputStream fos = new

FileOutputStream(sFileName);

BufferedImage myImage = new BufferedImage(225, 225,BufferedImage.TYPE_INT_RGB);

Graphics g = myImage.getGraphics();

g.setColor(Color.white);

g.fillRect(0,0,225,225);

g.setColor(Color.black);

g.drawString("Finance Balance Summary", 40, 15);

g.drawString("Primary", 90, 30);

g.setColor(Color.darkGray);

&g.fillRect(15,193,7,7);

g.setColor(Color.black);

g.drawString("% Operating", 25, 200);

g.setColor(Color.yellow);

g.fillRect(130,193,7,7);

g.setColor(Color.black);

g.drawString("% Term", 140, 200);

g.setColor(Color.lightGray);

g.fillRect(15,213,7,7);

g.setColor(Color.black);

g.drawString("% Mortgage", 25, 220);

g.setColor(Color.green);

g.fillRect(130,213,7,7);

g.setColor(Color.black);

g.drawString("% Lease", 140, 220);

JPEGImageEncoder jpg =

JPEGCodec.createJPEGEncoder(fos);

jpg.encode(myImage);

}catch (Exception e){

String exceptionThrown = e.toString();

String sourceOfException = " Method";

System.out.println("Origional Exception Thrown: " +

exceptionThrown + '"r' + '"n');

System.out.println("Origional SourceOfException: " +

sourceOfException + '"r' + '"n');

} // CatchStatementEnd

}

}

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部