簡體   English   中英

JMagick - 如何將圖片從 CMYK 轉換為 RGB?

[英]JMagick - How to convert a picture from CMYK to RGB?

我知道還有另一篇文章處理這個問題How to convert colorspace using JMagick? 但是有一點我不明白:

    String baseName = "Pictures/";
    String fileName = "dragon.gif";
     MagickImage imageCMYK;
     try {
     ImageInfo info = new ImageInfo( baseName + fileName);
     info.setColorspace(ColorspaceType.CMYKColorspace);

     System.out.println("ColorSpace BEFORE => " + info.getColorspace());

     imageCMYK = new MagickImage( info );


     System.out.println("ColorSpace AFTER => " +
             imageCMYK.getColorspace());

當我創建新的 MagickImage 時,CMYKColorSpace 不會在我獲得時保留:

ColorSpace BEFORE => 12 (CMYK)

如何正確地將圖片從 CMYK 轉換為 RGB?

謝謝。

色彩空間后 => 1 (RGB)

更新:您正在使用GIF圖像。 它們不支持“CMYK”,因此轉換對您不起作用(請參閱 imagemagick 網站上的論壇帖子)!


使用MagicImage.rgbTransformImage(ColorspaceType.CMYKColorspace) 從API:

public boolean rgbTransformImage (int colorspace) 拋出 MagickException

將參考圖像從 RGB 轉換為備用色彩空間。 變換矩陣不是標准矩陣:權重被重新調整以將變換值的范圍歸一化為 [0..MaxRGB]。


例子:

try {
    MagickImage image = new MagickImage(new ImageInfo(baseName + fileName));

    if (!image.rgbTransformImage(ColorspaceType.CMYKColorspace))
         throw new Exception("Couldn't convert image color space");

    ...
} catch (MagickException e) {
    ...
}

這仍然不適用於其他圖像格式,例如 PNG。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM