我使用ImageMagick(命令行)以下列方式将基于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的转换图像不同
也许,我需要将基于CMYK的ColorProfile添加到基于RGB的图像中。 但是,我不知道如何将ColorProfile添加到输入图像(基于CMYK的图像)
如何使用Image Magick以相同的方式使用Magick.net设置个人资料?
答案 0 :(得分:2)
您应首先添加旧配置文件,然后添加新配置文件:
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。如果您在那里发布消息,请包含指向源图像的链接。