[java] 이미지 변환 및 조작

이미지 변환 및 조작은 소프트웨어 개발 및 디지털 미디어 작업에서 중요한 부분입니다. 자바를 사용하여 이미지를 로드하고 조작하는 방법에 대해 살펴보겠습니다.

이미지 로드하기

자바에서 이미지를 로드하려면 ImageIO 클래스를 사용할 수 있습니다. 다음은 이미지를 로드하는 간단한 예제입니다.

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class ImageProcessing {
    public static void main(String[] args) {
        try {
            File input = new File("input.jpg");
            BufferedImage image = ImageIO.read(input);
        } catch (IOException e) {
            System.out.println("이미지를 로드하는 중에 오류가 발생했습니다: " + e);
        }
    }
}

이미지 변환하기

로드한 이미지를 변환하려면 자바의 BufferedImageGraphics2D 클래스를 사용할 수 있습니다. 다음은 이미지를 회전시키는 예제입니다.

import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class ImageProcessing {
    public static void main(String[] args) {
        try {
            File input = new File("input.jpg");
            BufferedImage image = ImageIO.read(input);
            int width = image.getWidth();
            int height = image.getHeight();
            BufferedImage rotatedImage = new BufferedImage(height, width, image.getType());
            Graphics2D g2d = rotatedImage.createGraphics();
            g2d.rotate(Math.toRadians(90), height / 2, width / 2);
            g2d.drawImage(image, null, 0, 0);
            ImageIO.write(rotatedImage, "jpg", new File("output.jpg"));
            g2d.dispose();
        } catch (IOException e) {
            System.out.println("이미지를 회전하는 중에 오류가 발생했습니다: " + e);
        }
    }
}

결론

자바를 사용하여 이미지를 로드하고 조작하는 방법에 대해 간단히 살펴보았습니다. 이미지 조작에는 다양한 기술과 라이브러리가 사용될 수 있으며, 이 예제는 기본적인 이미지 로드 및 회전에 대한 간단한 솔루션을 제시하고 있습니다. 실제 프로젝트에서는 해당 요구 사항에 맞는 라이브러리나 도구를 선택하여 사용하는 것이 중요합니다.

이미지 관련 작업에 대해 더 자세히 알아보려면 Java Image Processing Cookbook 등의 참고 자료를 참고할 수 있습니다.