Конвертируйте RGB JPEG в CMYK JPEG с помощью ColorConverterOp Java - PullRequest
2 голосов
/ 15 ноября 2011

Я пытаюсь преобразовать изображение JPEG в RGB в цветовое пространство CMYK.Единственная проблема заключается в том, что мой окончательный вывод - это всегда черное изображение.Но достаточно интересное приложение предварительного просмотра в MAC показывает изображение правильно.Кажется, что нигде не было примера успешного преобразования rgb в cmyk.Ниже приведен код, который я использую для попытки преобразования.Этот код работает нормально, если я выполняю преобразование в rgb, используя RGB ICC Profile.Любое руководство с благодарностью.

import javax.imageio.ImageIO;

public class TestClass {

  public static void main(String[] args) throws Exception {
    BufferedImage cmykImage = ImageIO.read(new File(
            "CMYK_Sample.jpg"));     
    BufferedImage rgbImage = null;

    ColorSpace cpace = new ICC_ColorSpace(ICC_Profile.getInstance(TestClass.class.getClassLoader().getResourceAsStream("icc/USWebCoatedSWOP.icc")));

    ColorConvertOp op = new ColorConvertOp(cpace, null);       
    rgbImage = op.filter(cmykImage, null);

    ImageIO.write(rgbImage, "JPEG", new File("CMYK_Sample_RGB_OUTPUT2.jpg"));

  }
}

1 Ответ

1 голос
/ 19 ноября 2011

CMYK для печати.Таким образом, есть немного возможностей показать это, кроме файлов pdf и postscript.JPEG может показать почти только RGB.Итак, в вашей последней строке ImageIO.write вы пытаетесь прочитать cmyk как RGB.Вот проблема.

CMYK в JPEG: «Adobe Photoshop и некоторые другие приложения, ориентированные на предварительную печать, будут создавать четырехканальные файлы CMYK JPEG, когда их просят сохранить JPEG из режима изображения CMYK.savvy справится с CMYK JPEG (или любым другим форматом CMYK в этом отношении). При создании JPEG для Интернета обязательно сохраняйте его в режиме RGB или в градациях серого ».(http://www.faqs.org/faqs/jpeg-faq/part1/)

Что касается отображения файлов CMYK в java, используйте java-2d (http://download.oracle.com/javase/1.3/docs/guide/2d/spec/j2d-color.fm2.html)

...