Table of Contents
간단하게 자바 콘솔 어플리케이션으로 이미지를 처리하는 프로그램을 만들고 싶은 경우가 있을 수 있습니다. 저 또한 간단하게 웹 상에 존재하는 이미지를 다운 받아 이미지에 워터마크를 넣어주는 프로그램을 만들려고 했었습니다.
이 글에서는 Java에서 웹 상에 존재하는 이미지를 받아와서 로컬에 저장하는 예제에 대해서 소개해드리겠습니다.
ImageIO 패키지
자바에서 제공하는 Image 관련한 패키지입니다. 다양한 기능들이 있지만 웹 상에 존재하는 이미지의 URL을 통해서 이미지를 로컬에 저장하는 예제를 보여드리겠습니다.
예제 코드
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class Main {
private final static String IMAGE_URL = "https://www.google.com/favicon.ico";
public static void main(String[] args) {
try {
// if you want to get png or jpg ... you can do it
URL url = new URL(IMAGE_URL);
String extension = IMAGE_URL.substring(IMAGE_URL.indexOf('.') + 1);
BufferedImage image = ImageIO.read(url);
File file = new File("test.ico");
ImageIO.write(image, extension, file);
} catch (IOException e) {
e.printStackTrace();
}
}
}
위 예제는 구글의 favicon을 가져와서 로컬에 환경에 저장하는 예제입니다.
- URL을
ImageIO.read
메소드의 파라미터로 넘겨BufferedImage
객체에 데이터를 저장합니다. -
test.ico
라는 파일 객체를 만듭니다. -
ImageIO.write
메소드를 이용하여 로컬에 저장합니다.
맺음
간단하게 Java의 ImageIO 패키지를 이용하여 웹 상에 있는 이미지를 로컬에 저장하는 방법에 대해서 알아보았습니다. 궁금하신 점이나 이상한 점은 댓글 부탁드리겠습니다.
Comments
Copied to clipboard