import java.awt.Frame;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
 
import javax.imageio.ImageIO;
 
/**
 * ImageIOMain.java
 * 자바 1.4 ImageIO를 이용한 이미지 로딩
 * 
 * 자바 1.4 이전에는 JPEG 이미지의 로딩과 저장이 그렇게 쉽지만은 않다. 
 * 자바 1.4에서는 이미지의 관리를 위해 ImageIO 클래스를 제공한다.
 */
 
public class ImageIOMain extends Frame {
    BufferedImage bi = null;
     
    public ImageIOMain(){
        try{
            bi = bufferedImage();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
     
    private BufferedImage bufferedImage() throws Exception{
        //자바 1.4 ImageIO를 이용한 이미지 로딩
        File file = new File("./pororo.jpg");
        BufferedImage bi = ImageIO.read(file);
         
        //자바 1.4 ImageIO를 이용한 이미지 저장
        File file1 = new File("pororo2.png");
        ImageIO.write(bi, "png", file1);
         
        File file2 = new File("pororo2.gif");
        ImageIO.write(bi, "gif", file2);
         
        File file3 = new File("pororo2.jpg");
        ImageIO.write(bi, "jpg", file3);
         
        return bi;
    }
     
    public void paint(Graphics g){
        if(this.bi != null)
            g.drawImage(this.bi, 0, 20, this);
    }
     
    public static void main(String[] args){
        ImageIOMain itm = new ImageIOMain();
        itm.setSize(330, 420);
        itm.setVisible(true);
    }
}

출처: https://goppa.tistory.com/202 [Developer]

Posted by pkss
,