跟进我之前的问题:是否以及如何使用基于RGB的TIFF文件并将其转换为具有标准.NET(3.5)功能的CMYK?
这可能吗?
答案 0 :(得分:9)
实际上有一种使用System.Windows.Media.Imaging命名空间的方法 目前似乎只适用于TIFF(这对我来说很好):
Stream imageStream = new
FileStream(@"C:\temp\mike4.jpg", FileMode.Open, FileAccess.Read, FileShare.Read);
BitmapSource myBitmapSource = BitmapFrame.Create(imageStream);
FormatConvertedBitmap newFormatedBitmapSource = new FormatConvertedBitmap();
newFormatedBitmapSource.BeginInit();
newFormatedBitmapSource.Source = myBitmapSource;
newFormatedBitmapSource.DestinationFormat = PixelFormats.Cmyk32;
newFormatedBitmapSource.EndInit();
BitmapEncoder encoder = new TiffBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(newFormatedBitmapSource));
Stream cmykStream = new FileStream(@"C:\temp\mike4_CMYK.tif",
FileMode.Create, FileAccess.Write, FileShare.Write);
encoder.Save(cmykStream);
cmykStream.Close();
请参阅“Converting images from RGB to CMYK”,Calle Mellergardh的答案。
答案 1 :(得分:1)
不,我认为使用标准GDI +包装器(System.Drawing)是不可能的。 GDI +仅支持RGB。基于CMYK的图像可以通过GDI +读取(隐式转换为RGB),但不能写入基于CMYK的图像。
您可能想尝试支持CMYK的GraphicsMill之类的内容。