상세 컨텐츠

본문 제목

CMYK to RGB in JAVA

프로그램 언어/Java

by husks 2023. 6. 14. 14:38

본문

반응형

이미지 파일의 CMYK를 RGB로 변환하기 위해서는 이미지 처리 라이브러리를 사용해야 합니다. Java에서는 javax.imageio 패키지를 통해 이미지 파일을 읽고 처리할 수 있습니다. 아래는 Java에서 이미지 파일을 읽어 CMYK를 RGB로 변환하는 예시 코드입니다.

 

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

public class CMYKtoRGB {
    public static void main(String[] args) {
        try {
            File file = new File("input.jpg"); // 입력 이미지 파일 경로
            BufferedImage image = ImageIO.read(file);

            int width = image.getWidth();
            int height = image.getHeight();

            BufferedImage rgbImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

            for (int y = 0; y < height; y++) {
                for (int x = 0; x < width; x++) {
                    int cmyk = image.getRGB(x, y);
                    Color color = new Color(cmyk, true);

                    float[] cmykComponents = color.getColorComponents(null);
                    float[] rgbComponents = new float[3];

                    // CMYK to RGB 변환
                    rgbComponents[0] = (1 - cmykComponents[0]) * (1 - cmykComponents[3]);
                    rgbComponents[1] = (1 - cmykComponents[1]) * (1 - cmykComponents[3]);
                    rgbComponents[2] = (1 - cmykComponents[2]) * (1 - cmykComponents[3]);

                    int rgb = new Color(rgbComponents[0], rgbComponents[1], rgbComponents[2]).getRGB();
                    rgbImage.setRGB(x, y, rgb);
                }
            }

            File output = new File("output.jpg"); // 출력 이미지 파일 경로
            ImageIO.write(rgbImage, "jpg", output);
            System.out.println("RGB 이미지로 변환되어 저장되었습니다.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 예시 코드에서 input.jpg는 변환할 CMYK 이미지 파일의 경로를 나타내며, output.jpg는 RGB로 변환된 이미지를 저장할 경로를 나타냅니다. 코드를 실행하면 CMYK 이미지가 RGB로 변환되어 output.jpg로 저장됩니다.

이 코드는 javax.imageio를 사용하여 이미지 파일을 읽고 색상 변환을 수행합니다. 각 픽셀의 CMYK 색상 값을 가져와 RGB로 변환한 후, 새로운 BufferedImage에 저장합니다. 마지막으로 변환된 RGB 이미지를 파일로 저장합니다. 이 코드는 JPEG 이미지를 처리하지만, 다른 포맷의 이미지도 처리할 수 있습니다. 필요에 따라 코드를 수정하여 사용할 수 있습니다.

반응형

'프로그램 언어 > Java' 카테고리의 다른 글

Java 자릿수 랜덤(난수) 생성  (0) 2023.09.05
YAML(YAML Ain't Markup Language)  (0) 2023.07.10
Java 생성자 메소드  (0) 2023.03.09
Java IllegalArgumentException  (0) 2023.03.09
Java ArrayList <class>의 날짜 값으로 정렬  (0) 2023.03.02

관련글 더보기

댓글 영역