Servlet如何憑空制造一個(gè)圖像Image?

底下這個(gè)程序,不需要有任何原始圖片。憑空制造出一個(gè)圖像,然后返回給客戶端。
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 73203。



例:4.4.3

package com;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletHello1 extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("image/jpeg");
        ServletOutputStream out = response.getOutputStream();
        /* 構(gòu)造一個(gè)緩沖的圖像。 */
        BufferedImage image = new BufferedImage(550, 30,
                BufferedImage.TYPE_INT_RGB);
        Graphics graphics = image.getGraphics();
        graphics.setColor(Color.red);
        graphics.fillRect(0, 0, 550, 30); // 先畫一個(gè)長條矩形

        /* 下面兩句話的效果和第三句話的效果一樣,在jdk1.7以后,大家都用第三句話了,sun公司 貌似deprecate頭兩句了。*/
        // JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(out);
        // encoder.encode(image);

        ImageIO.write(image, "jpeg", out);
    }
}

輸出結(jié)果:
在瀏覽器畫了一個(gè)紅條