createimageservlet.java

来自「JSP高级程序员网络开发源代码」· Java 代码 · 共 49 行

JAVA
49
字号
package com.jspdev.ch7;

import java.io.*;
import java.awt.*;
import java.awt.image.*;

import javax.servlet.*;
import javax.servlet.http.*;

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

public class CreateImageServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("image/jpeg");
		createImage(response.getOutputStream());
	}

	private void createImage(OutputStream out) {
		int width = 100;
		int height = 100;
		BufferedImage bi = new BufferedImage(width, height,
				BufferedImage.TYPE_INT_RGB);
		Graphics2D g = bi.createGraphics();
		// 设置背景色
		g.setBackground(Color.BLUE);
		g.clearRect(0, 0, width, height);
		// 设置前景色
		g.setColor(Color.RED);
		// 开始画图
		g.drawLine(0, 0, 99, 199);
		// 结束画图
		g.dispose();
		bi.flush();
		// 当绘制完成后,调用com.sun.image.codec.jpeg包的JPEG编码器对其编码。
		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
		JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
		param.setQuality(1.0f, false);
		encoder.setJPEGEncodeParam(param);
		try {
			encoder.encode(bi);
		} catch (IOException ioe) {
			ioe.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

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