Кто-нибудь знает, как правильно идентифицировать изображения CMYK с помощью С#? Я нашел, как это сделать с помощью ImageMagick, но мне нужно .NET-решение. Я нашел 3 фрагмента кода в сети, только один работает в Windows 7, но все они не работают в Windows Server 2008 с пакетом обновления 2 (SP2). Мне нужно, чтобы он работал хотя бы в Windows Server 2008 с пакетом обновления 2 (SP2). Вот что я нашел:
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Drawing;
using System.Drawing.Imaging;
bool isCmyk;
// WPF
BitmapImage wpfImage = new BitmapImage(new Uri(imgFile));
// false in Win7 & WinServer08, wpfImage.Format = Bgr32
isCmyk = (wpfImage.Format == PixelFormats.Cmyk32);
// Using GDI+
Image img = Image.FromFile(file);
// false in Win7 & WinServer08
isCmyk = ((((ImageFlags)img.Flags) & ImageFlags.ColorSpaceCmyk) ==
ImageFlags.ColorSpaceCmyk);
// true in Win7, false in WinServer08 (img.PixelFormat = Format24bppRgb)
isCmyk = ((int)img.PixelFormat) == 8207;