我使用ImageMagick(命令行)通过以下方式将基于CMYK的图像转换为基于RGB的图像:
convert.exe -profile icc:JapanColor2001Coated.icc -colorspace cmyk input.jpg -profile icc:sRGB.icc -colorspace sRGB output.jpg
我挑战使用以下方式将基于 CMYK 的图像转换为基于 RGB 的图像 Magick.net
我在下面显示我的巫师代码:
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的图像。但是,我不知道如何将颜色配置文件添加到输入图像(基于CMYK的图像)
如何使用图像魔术以相同的方式使用 Magick.net 设置配置文件?
您应该首先添加旧配置文件,然后添加新配置文件:
using (MagickImage image = new MagickImage("input.jpg"))
{
// Tell ImageMagick what we're starting with
image.AddProfile(new ColorProfile(@"C:PathJapanColor2001Coated.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。如果您在那里发布消息,请包含指向源图像的链接。