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è)紅條