📄 612.html
字号:
<STYLE type=text/css>
<!--
body,td { font-size:9pt;}
hr { color: #000000; height: 1px}
-->
</STYLE>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD><TITLE>精选文章 >> Servlet >> Servlet的图象处理技巧</title>
</head>
<body >
<p><IMG SRC="../image/jsp001_middle_logo.gif" WIDTH="180" HEIGHT="60" BORDER=0 ALT=""></p>
<table width=100% bgcolor="#cccccc" align=center cellpadding="2" cellspacing="0" border=1 bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr bgcolor="#EFF8FF"><td>
<a href=http://www.jsp001.com/list_thread.php?int_attribute=2>精选文章</a>
>> <a href=http://www.jsp001.com/list_thread.php?forumid=9&int_attribute=2>Servlet</a>
>> Servlet的图象处理技巧 [<a href=http://www.jsp001.com/forum/showthread.php?goto=newpost&threadid=612>查看别人的评论</a>]<br>
<hr><p>由 amtd 发布于: 2001-03-05 14:46</p><p><img src="images/icons/icon1.gif" alt="Post" border=0> </p><p>Servlet的图象处理技巧 <br><br> 我们在处理数据时,有时希望能用图象直观的表述,在这里有一个巧方法,能方便快捷的实现一些简单的图形(不能称之图象),比如条形图,我们不必去用java来生成并显示图象,(java生成图象很慢),我们可以这样来作,先用作图工具作一个很小的你需要的图片,再根据你所处理的数据量来实时的加长它,就可以得到所要表述的图例。比如我们在数据库中得到了一组数据,我们从中找出最大的那一个,按比列设定其<img>标签的长度,其它的数据图形则可与它相比,得到<img>的长度,这样,一个简简单单的条形图就出来。但有时一些简单的图形已经不能解决我们实际遇到的情况,比如曲线图就不能用这种方法,这时我们需要生成java图象,也许大家都用过applet这样的程序吧,若访问量不大,而实时性又很特殊时(比如股票系统),必须这样用它。但事实上,我们web程序大多有前后台之分,前台浏览,后台维护。这样我们可以在后台用servlet实时动态定时地生成图象文件,而前台只是查看静态图片,这比你用applet来动态产生图象的速度快了不知多少倍,因为applet来动态产生图象,有两个地方很费时,一是数据库查询时间,二是applet本身生成图象就很慢。下面我以一个简单的例子来说明一下怎样生成并写入图象文件,本例注重的是怎样写入图象文件,相信写过applet的朋友会生成更加漂亮的图象。<br>package test;<br>import javax.servlet.*;<br>import javax.servlet.http.*;<br>import java.io.*;<br>import java.util.*;<br>import java.awt.image.BufferedImage;<br>import com.sun.image.codec.jpeg.*;<br>import java.awt.image.*;<br>import java.awt.*;<br>public class Servlet2 extends HttpServlet {<br> public void init(ServletConfig config) throws ServletException {<br> super.init(config);<br>}<br> public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<br> String sFileName = "e:/temp/name.jpg";<br> try{<br> FileOutputStream fos = new<br> FileOutputStream(sFileName);<br> BufferedImage myImage = new BufferedImage(225, 225,BufferedImage.TYPE_INT_RGB);<br> Graphics g = myImage.getGraphics();<br> g.setColor(Color.white);<br> g.fillRect(0,0,225,225);<br> g.setColor(Color.black);<br> g.drawString("Finance Balance Summary", 40, 15);<br> g.drawString("Primary", 90, 30);<br> g.setColor(Color.darkGray);<br> &g.fillRect(15,193,7,7);<br> g.setColor(Color.black);<br> g.drawString("% Operating", 25, 200);<br> g.setColor(Color.yellow);<br> g.fillRect(130,193,7,7);<br> g.setColor(Color.black);<br> g.drawString("% Term", 140, 200);<br> g.setColor(Color.lightGray);<br> g.fillRect(15,213,7,7);<br> g.setColor(Color.black);<br> g.drawString("% Mortgage", 25, 220);<br> g.setColor(Color.green);<br> g.fillRect(130,213,7,7);<br> g.setColor(Color.black);<br> g.drawString("% Lease", 140, 220);<br> JPEGImageEncoder jpg =<br> JPEGCodec.createJPEGEncoder(fos);<br> jpg.encode(myImage);<br>}catch (Exception e){<br> String exceptionThrown = e.toString();<br> String sourceOfException = " Method";<br> System.out.println("Origional Exception Thrown: " +<br> exceptionThrown + '\r' + '\n');<br> System.out.println("Origional SourceOfException: " +<br> sourceOfException + '\r' + '\n');<br>} // CatchStatementEnd<br>}<br>} <br><br>__________________<br><font color=red>真实源于生活! </font><br>请访问我们的网站: <br>(VB爱好者乐园) <br><a href="http://www.vbgood.com" target=_blank>http://www.vbgood.com</a><br><a href="http://www.d1vb.com" target=_blank>http://www.d1vb.com</a><br><a href="http://61.128.97.225/vbgood/index.asp" target=_blank>http://61.128.97.225/vbgood/index.asp</a><br>拥有1800多个资料! </p></td>
</tr>
</table>
<p>
<CENTER><a href="http://www.jsp001.com/forum/newreply.php?action=newreply&threadid=612">点这里对该文章发表评论</a></CENTER>
<p>该文章总得分是 <font color=red>0</font> 分,你认为它对你有帮助吗?
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=612&intVote=4","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>非常多</a>](<font color=red>0</font>)
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=612&intVote=2","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>有一些</a>](<font color=red>0</font>)
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=612&intVote=1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>无帮助</a>](<font color=red>0</font>)
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=612&intVote=-1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>是灌水</a>](<font color=red>0</font>) </p>
<script language="javascript" src="http://www.jsp001.com/include/read_thread_script.php?threadid=612"></script>
<p><CENTER>
Copyright © 2001 - 2009 JSP001.com . All Rights Reserved <P>
<IMG SRC="../image/jsp001_small_logo.gif" WIDTH="85" HEIGHT="30" BORDER=0 ALT="">
</CENTER></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -