4

我使用 ImageMagick(command Line) 以下列方式将基于 CMYK 的图像转换为基于 RGB 的图像:

convert.exe -profile icc:JapanColor2001Coated.icc -colorspace cmyk input.jpg -profile icc:sRGB.icc -colorspace sRGB output.jpg 

我挑战使用 Magick.net 以下列方式将基于 CMYK 的图像转换为基于 RGB 的图像

我在下面显示我的源代码:

private MagickImage convertCMYKToRGB(MagickImage image)
        {
            image.AddProfile(new ColorProfile(@"C:\sRGB.icc"));
            image.ColorSpace = ColorSpace.sRGB;
            return image;
        }

但是使用 Image Magick(命令行)转换的图像与使用 Magick.net 转换的图像不同

也许,我需要将 ColorProfile 添加到基于 CMYK 的图像,而不仅仅是基于 RGB 的图像。但是,我不知道如何将 ColorProfile 添加到输入图像(基于 CMYK 的图像)

如何以与使用 Image Magick 相同的方式使用 Magick.net 设置配置文件?

4

1 回答 1

3

您应该首先添加旧配置文件,然后添加新配置文件:

using (MagickImage image = new MagickImage("input.jpg"))
{
  // Tell ImageMagick what we're starting with
  image.AddProfile(new ColorProfile(@"C:\Path\JapanColor2001Coated.icc"));

  // Tell it to convert - the details are handled for you by the library
  image.AddProfile(ColorProfile.SRGB);

  // You're done. Save it.
  image.Write("output.jpg");
}

这里的另一个例子:https ://magick.codeplex.com/wikipage?title=Convert%20image

请注意,在链接的示例中,他们正在从标准 CMYK 转换,这意味着您不需要加载自定义 icc 配置文件 - 标准 CMYK 已经在 Magick.net 中,如ColorProfile.USWebCoatedSWOP.

如果您需要更多帮助,请随时在此处开始讨论:https ://magick.codeplex.com/discussions 。如果您在此处发布消息,请包含指向您的源图像的链接。

于 2013-09-20T14:07:28.237 回答