⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0126.htm

📁 JspServlet教程专栏 对javaservlet讲述的非常详细
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>用 Servlets 动态生成图片</strong></big></p>

<div align="right">(文/NOVEMBER RAIN)</div>

<pre>
Image I/O 包及对 JDK 的要求 
  如果你的 servlet 要动态生成图象,首先你需要 image I/O,明确的说,你需要生成一图片
来响应HTTP请求。核心 Java API 没有直接提供用于保持任何图象的功能。然而,你可以用 Sun 
的 Java 1.1 类库来做 image I/O。而且 Sun 的 1.2 版的 image I/O 提供了对 JPEG 图象进行
编码和解码的包。因为这些代码在 com.sun 包中,不是核心API的一部分,也不是标准的扩展包,
因此,会影响代码的可移植性。

  使用 jdk 1.2 将比 jdk 1.1 版容易的多,本文介绍 jdk 1.2 下的实现方法。示例有三个步
骤:创建、绘制、保存。在本例仅仅示范如何画一个椭圆,当然你可以根据你的需要修改。例子
使用了 com.sun.image.codec.jpeg 包生成 JPEG 文件。如果要生成 GIF 文件,你可以使用第三
方的包,如 Acme Labs 的 GIF Encoder。

1. 使用适当的尺寸创建一个 BufferedImage 对象:
BufferedImage 
 image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

2. 在 image 对象上绘制你想要的图象。假设你想要一个白色的背景,你需要画一个白色填充的
矩形。否则背景将是缺省的黑色:

 Graphics g = image.getGraphics(); 
  g.setColor(Color.white); 
  g.fillRect(0,0, width, height);
  g.setColor(Color.red); 
  g.drawOval(0, 0, width, height); 

3. 使用 com.sun.image.codec.jpeg 包输出 BufferedImage:

 response.setContentType(”image/jpeg”); 
 ServletOutputStream out = response.getOutputStream();  
 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); 
 encoder.encode(image); 
 out.close();
</pre>

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -