Weiß jemand, wie man CMYK-Bilder mit C# richtig erkennt? Ich habe herausgefunden, wie man es mit ImageMagick macht, aber ich brauche eine .NET-Lösung. Ich habe 3 Code-Snippets online gefunden, nur eines funktioniert in Windows 7, aber alle Fehler in Windows Server 2008 SP2. Ich brauche es zumindest in Windows Server 2008 SP2 zu arbeiten. Hier ist, was ich gefunden habe:Wie erkennt man CMYK-Bilder mit C#
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;
Ihre beiden Testboxen x86 oder x64? –
Beide sind 64-Bit-Maschinen. Könnte es die GDI + dll sein? –
Was gibt 'img.PixelFormat' für beide Betriebssysteme zurück? Wie wäre es mit 'wpfImage.Format'? – Gabe