2009-03-08 7 views

Antwort

7

Eigentlich ist es eine Möglichkeit, die System.Windows.Media.Imaging Namespace verwendet, die nur richtig mit TIFFs im Moment scheint zu funktionieren (was gut für mich ist):

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(); 

Siehe „Converting images from RGB to CMYK“ , die Antwort von Calle Mellergardh.

+0

Der Link zu Connect ist ein 404. – bzlm

1

Nein, ich denke nicht, dass dies mit Standard-GDI + -Wrappers (System.Drawing) möglich ist. GDI + unterstützt nur RGB. CMYK-basierte Bilder können mit GDI + (implizite Konvertierung in RGB) gelesen werden, aber CMYK-basierte Bilder können nicht geschrieben werden.

Sie möchten etwas wie GraphicsMill versuchen, die CMYK unterstützt.

Verwandte Themen