.NET TIFF文件:没有第三方库可以转换RGB到CMYK?

时间:2009-03-08 14:13:54

标签: c# image tiff

跟进我之前的问题:是否以及如何使用基于RGB的TIFF文件并将其转换为具有标准.NET(3.5)功能的CMYK?

这可能吗?

2 个答案:

答案 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之类的内容。