C#を使用してCMYKイメージを正しく識別する方法を知っている人はいますか?私はImageMagickを使用してそれを行う方法を見つけましたが、.NETソリューションが必要です。 3つのコードスニペットがオンラインで見つかりましたが、Windows 7では1つのみが動作しますが、Windows Server 2008 SP2ではすべてが失敗します。私はWindows Server 2008 SP2で少なくとも動作する必要があります。ここに私が見つけたものがあります:C#を使用してCMYKイメージを特定する方法
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;
は、あなたのテストボックスのx86の両方またはですx64? –
どちらも64ビットマシンです。それはGDI + dllかもしれませんか? –
両方のOSに対して 'img.PixelFormat'は何を返しますか? 'wpfImage.Format'はどうですか? – Gabe