[英]Convert RGB JPEG to CMYK JPEG using ColorConverterOp Java
我正在嘗試將rgb中的jpeg圖像轉換為CMYK顏色空間。 唯一的問題是我的最終輸出始終是黑色圖像。 但是有趣的是,MAC中的預覽應用程序可以正確顯示圖像。 到目前為止,到目前為止,似乎還沒有成功將rgb轉換為cmyk的示例。 以下是我嘗試進行轉換的代碼。 如果我正在使用RGB ICC配置文件執行到rgb的轉換,則此代碼可以正常工作。 任何指導,不勝感激。
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"));
}
}
CMYK用於打印。 因此,除pdf和postscript文件外,幾乎沒有其他方法可以顯示它。 JPEG幾乎只能顯示RGB。 因此,在最后一行ImageIO.write中,您嘗試將cmyk讀取為RGB。 這是問題所在。
JPEG中的CMYK:“當系統要求將其從CMYK圖像模式保存JPEG時,Adobe Photoshop和其他一些面向印前的應用程序將生成四通道CMYK JPEG文件。幾乎所有不具備印前知識的東西都可以處理CMYK JPEG(或任何其他CMYK)格式)。制作用於Web的JPEG時,請確保從RGB或灰度模式保存。” (http://www.faqs.org/faqs/jpeg-faq/part1/)
至於在Java中顯示CMYK文件,請使用java-2d(http://download.oracle.com/javase/1.3/docs/guide/2d/spec/j2d-color.fm2.html)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.