我正在从事一个项目,其核心是向图像中添加文本,因此作为一个示例,给出了一个背景图像(B)和一些特定字体、点大小和字体(A)的文本,这两个文本被组合在一起生成(C):

最终的结果是打印这些图像,所以背景使用CMYK颜色空间,我需要将整个过程保持在CMYK内,或者打印时颜色看起来不对。(注:优秀关于色彩空间和.NET on CodeProject的文章)
我尝试了几种组合这些图像的不同方法:
我看过,但没有尝试第三方商业组件,因为价格似乎开始很高,并继续上涨:
这在.NET 4中是可能的吗?
编辑:,因为其他人可能想做一些稍微不同的事情,只需将Windows.System.Media.Imaging能够加载到CMYK的任何格式转换成CMYK,下面是我使用的代码:
var bitmapConverter = new FormatConvertedBitmap();
bitmapConverter.BeginInit();
bitmapConverter.Source = sourceImage;
bitmapConverter.DestinationFormat = PixelFormats.Cmyk32;
bitmapConverter.EndInit();为了澄清上面的代码,将图像源转换为CMYK32 (没有透明度),但是,如果您使用的是某些类(即传递上述ImageSource的RenderTargetBitmap将引发异常)。
发布于 2010-12-13 17:33:34
如果你已经看了这么多,你可能已经看到了这些链接。但是,以防万一,这里有一些我发现可能对你有帮助的链接。
下面是关于如何在.NET中使用CMYK的链接:
具体来说,它提到了使用颜色配置文件和Windows颜色管理API。
以下是另一个SO链接:
一个回答者提到,CMYK和RGB之间没有确切的转换。
下面是一个关于在不转换为RGB的情况下合成两个CMYK图像的链接:
回答者建议使用他所附属的商业产品。
https://stackoverflow.com/questions/4431542
复制相似问题