2012-02-17 10 views
6

En resumen: deseo asignar un perfil de color ICC a una imagen y no aplicarla.Asignar un perfil de color ICC a una imagen en C#

Más información: En mi empresa, necesitamos fusionar un archivo pdf de varias capas en una capa. Para hacer esto, fusionamos la página pdf en una imagen y luego guardamos la imagen como un pdf. Pero en el proceso de creación de la imagen, el perfil de color de la imagen se pierde. Si aplicamos el perfil de color en C#, el perfil se transformará de Dispositivo RGB (salida predeterminada de .NET) al perfil sRGB_IEC61966-2-1_no_black_scaling.icc. En la transformación, algunos colores cambian. En lugar de aplicar el perfil de color, debemos asignarlo. Lo que significa que no se transforman los colores.

¿Alguien sabe cómo lograr esto? Gracias por adelantado.

Respuesta

6

Antes de comenzar a trabajar en su mapa de bits (es decir, antes de comenzar el diseño de los componentes PDF individuales), asegúrese de que el mapa de bits tiene su perfil ICC objetivo aplicado. Usted dice que sus imágenes individuales tienen el perfil requerido incrustado dentro de ellas, y esto se pierde en la transformación. Para conservar el perfil, asegúrese de utilizar el siguiente método de carga, que respeta ninguna información de perfil de color:

http://msdn.microsoft.com/en-us/library/4sahykhd.aspx

Se puede utilizar esta primera mapa de bits como el objetivo de su trabajo composición, a continuación, exportar más tarde. Debe conservar el perfil ICC original.

Como alternativa, puede utilizar las bibliotecas FreeImage o ImageMagick para administrar los perfiles de color de forma explícita. Ambos tienen envolturas .NET y permiten la extracción/aplicación de archivos de perfiles ICC:

Free Image Library

Image Magick Command-Line Profile Options

Image Magick .NET Wrapper

espero que esto ayude.

+0

Estoy usando Aspose.Pdf.Kit para la conversión de la página PDF a System.Windows.Image y esa función no ofrece la opción de mantener el perfil de color. Pero actualmente estoy buscando en las bibliotecas que sugirió. – SynerCoder

+0

Esta (biblioteca de imágenes gratuita) resolvió el problema que pedí, pero ahora tengo otra, otorgaré la recompensa en 17 horas. – SynerCoder

+0

@SynerCoder - es genial que la biblioteca haya ayudado. Sigo pensando en hacer más con él, ya que parece muy flexible. Lo siento, pero te has encontrado con un problema nuevo :( –

Cuestiones relacionadas