본문 바로가기

Servlet/ImageIO PNG Encoding

ImageIO PNG Encoding

ImageIO 클래스를 이용하여 PNG 포맷으로 인코딩하여 브라우저에 전송하는 예제

import java.io.*;
import java.awt.*;
import java.awt.image.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.imageio.*;

public class PNGEncoderTest extends javax.servlet.http.HttpServlet{

 protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  response.setContentType("image/png");
  BufferedImage image= new BufferedImage(400,300,
    BufferedImage.TYPE_INT_RGB);

    Graphics g = image.getGraphics();
    g.setColor(Color.BLUE);
    g.fillRect(0, 0, 400, 300);
    g.setColor(Color.GREEN);
    g.fillRect(100, 100, 100, 100);
    g.setColor(Color.ORANGE);
    g.drawString("PNG Encoder Test", 200, 200);

  ServletOutputStream sos = response.getOutputStream();
  ImageIO.write(image, "png", sos);
 }    
}