Как идентифицировать изображения CMYK с помощью C #

Кто-нибудь знает, как правильно определять изображения CMYK с помощью C #? Я нашел, как это сделать с помощью ImageMagick, но мне нужно решение .NET. Я нашел 3 фрагмента кода в Интернете, только один работает в Windows 7, но все не работают в Windows Server 2008 SP2. Мне нужно, чтобы он работал хотя бы в Windows Server 2008 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; 
20
задан Alex Gil 30 November 2010 в 21:07
поделиться