2012-04-05 183 views

回答

1

我不知道.Net的第一件事,但我看到一个网站,您可以在5mb以下的图像文件中执行免费的RGB到CMYK转换。您可以选择许多CMYK配置文件。对于美国的商业胶印,我会建议GRACoL2006_Coated1v2.icc和杂志/卷筒纸胶印我会使用SWOP2006_Coated3v2.icc

http://www.rgb2cmyk.org/ 
1

有一个在.NET中没有原生支持CMYK。您需要第三方图书馆或服务,或自己写。将图像转换为CMYK并不是那么简单,每个目的都有不同的要求,因此您需要更好地定义要求以决定使用哪种方法。

编辑:侧边栏有一个链接到以前的疑问,有一些答案:Convert RGB color to CMYK?

1

正如其他人所提到的.NET本身并不支持图像色彩空间的调整。

然而,ImageMagick是一款出色的免费软件套件,可以让您使用-colorspace或-profile选项执行此操作。

的.NET库,让你打入ImageMagick的便利,命名为ImageMagick.NET,它可以从Codeplex下载...

1

您可以使用ImageMagick for .Net执行此操作,名为Magick.Net。你可以通过Nuget安装它,它是免费的。

在Magick.Net中,颜色配置文件转换相当混乱。你可能想知道它是magick.TransformColorSpace,还是基于一些基于命令行的答案,magick.Negate()。但它既不是。相反,您需要“添加”现有的ColorProfile,感觉不对,然后添加要转换的颜色配置文件,然后Magick.Net会为您处理背景中的转换细节。

// Tell ImageMagick this is RGB 
magick.AddProfile(ColorProfile.SRGB); 
// Tell it to convert it. 
magick.AddProfile(ColorProfile.USWebCoatedSWOP); 

https://magick.codeplex.com/wikipage?title=Convert%20image

The inverse of this, CMYK to RGB, is answered here见。

+0

'TransformColorSpace'方法和你的例子一样,但是有更好的语法。如果源图像没有配置文件,它将使用您提供的那个。如果这不起作用,请在CodePlex上告诉我。 – dlemstra 2015-07-22 20:50:09

相关问题