Archivo .NET TIFF: ¿Es posible la conversión de RGB a CMYK sin una biblioteca de terceros?

StackOverflow https://stackoverflow.com/questions/623636

  •  05-07-2019
  •  | 
  •  

Pregunta

Siguiendo mi pregunta anterior: si y cómo sería posible tomar TIFF archivos y convertirlos a CMYK con funcionalidad estándar .NET (3.5)?

¿Es eso posible?

¿Fue útil?

Solución

En realidad, hay una forma de usar el espacio de nombres System.Windows.Media.Imaging que solo parece funcionar correctamente con los TIFF en este momento (lo cual está bien para mí):

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

Ver " Convirtiendo imágenes de RGB a CMYK " ;, la respuesta de Calle Mellergardh.

Otros consejos

No, no creo que sea posible usar envoltorios GDI + estándar (System.Drawing). GDI + solo es compatible con RGB. Las imágenes basadas en CMYK se pueden leer con GDI + (conversión implícita a RGB), pero las imágenes basadas en CMYK no se pueden escribir.

Es posible que desee probar algo como GraphicsMill , que admite CMYK.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top