¿Cuál es la mejor manera de convertir un .eps (CMYK) a una .jpg (RGB) con ImageMagick

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

  •  27-09-2019
  •  | 
  •  

Pregunta

Tengo un montón de archivos .eps (CMYK) que necesito para convertir a archivos .jpg (RGB).

El siguiente comando a veces me da por debajo o por encima de imágenes en formato .jpg saturadas, si se compara con la fuente de archivo EPS:

    $cmd = "convert -density 300 -quality 100% -colorspace RGB ".$epsURL." -flatten -strip ".$convertedURL; 

¿Hay una forma más inteligente de hacer esto de tal manera que la imagen convertida tendrá las mismas cualidades que la fuente de archivo EPS?

Este es un ejemplo de la información de archivo de fuente:

Image: rejm.eps   Formato: PS (PostScript)   Clase: DirectClass   Geometría: 537x471   geometría Base: 1074x941   Tipo: ColorSeparation   Endianess: Indefinido   Espacio de color: CMYK   la profundidad del canal:     Cian: 8 bits     Magenta: 8 bits     Amarillo: 8 bits     Negro: 8 bits   estadísticas del canal:     cian:       Min: 0 (0)       Max: 255 (1)       La media: 161.913 (0,634955)       desviación estándar: 72.8257 (0,285591)     Magenta:       Min: 0 (0)       Max: 255 (1)       La media: 184.261 (0,722591)       desviación estándar: 75.7933 (0,297229)     Amarillo:       Min: 0 (0)       Max: 255 (1)       La media de: 70,6607 (0,277101)       desviación estándar: 39.8677 (0,156344)     Negro:       Min: 0 (0)       Max: 195 (0.764706)       La media de: 34,4382 (0,135052)       desviación estándar: 38.1863 (0,14975)   La densidad total de la tinta: 292%   Colores: 210489   Intento de representación: Indefinido   Resolución: 28.35x28.35   Unidades: PixelsPerCentimeter   Tamaño del archivo: 997.727kb   Entrelazado: Ninguno   color de fondo: blanco   Color del borde: #DFDFDFDFDFDF   color mate: grey74   geometría de la página: 537x471 + 0 + 0   Desechar: Indefinido   Iteraciones: 0   Compresión: Indefinido   Orientación: No definido   Firma: 8ea00688cb5ae496812125e8a5aea40b0f0e69c9b49b2dc4eb028b22f76f2964   Perfil-IPTC: 19738 bytes

Gracias

¿Fue útil?

Solución

¿Hay una razón bien los archivos de salida están en formato JPEG? EPS es un formato vectorial, mientras que JPEG es un formato con pérdida de compresión de mapa de bits que es optimizado específicamente para las fotografías - es decir, imágenes que consisten en parches vagamente definidos de colores variables, en contraposición a las áreas sólidas bien definidos, los cuales es lo que las imágenes vectoriales consisten.

Así que en la conversión (rasterización) de cualquier formato vectorial a JPEG, que son básicamente garantizado para conseguir artefactos borde feas manchas y parches en lo que se supone que son bloques sólidos de color. Esto sucederá no importa lo que haces; es inherente al formato JPEG. La forma de minimizar este es establecer la compresión a cero, pero luego vas a encontrar ninguno de los beneficios y, básicamente, no tienen ninguna razón para estar usando JPEG.

formatos de mapa de bits sin pérdidas como PNG, que es soportado por todos los navegadores web, son mucho mejores; se le puede dar colores sólidos y bordes limpios.

Si se trata de alguien que está especificando el formato JPEG para este proyecto, te lo suplico que por favor, por favor, explicar esto a esa persona. Por desgracia, la gran mayoría de la gente no entiende este hecho muy básica sobre el formato JPEG, y sólo se sabe que JPEG es el formato de mapa de bits "por defecto", por lo que la web está llena de horribles-quaility imágenes de mapa de bits JPEG mal aplicados - desde logotipos corporativos de varios millones corporaciones -Dollar a trabajar por los llamados diseñadores gráficos profesionales.

Si por casualidad el origen de los archivos EPS imágenes bitmap han incrustado en ellos, y lo que estamos tratando de hacer es extraer de ellos, en lugar de los datos vectoriales rasterize, estoy bastante seguro de que el tipo "ps2image" de herramientas en Ghostscript hacer el trabajo en su lugar.

Otros consejos

Un archivo .eps es un formato de archivo vectorial.

Una .jpg es el formato de archivo de mapa de bits.

El archivo .eps se representa a un mapa de bits que se comprime a continuación, utilizando la compresión JPEG y se guarda en un archivo .JPG.

La cuestión está ejecutando en CMYK es que está diseñado para la salida del dispositivo. De este modo se tendrá que aplicar un perfil ICC apropiado usando Poco CMS o PhotoShop / PhotoPaint. El perfil apropiado depende del dispositivo de salida. Si, por ejemplo, se está mostrando el resultado en el monitor, tendrá que utilizar un perfil de su monitores ICC. Si está outputing el resultado a su impresora de oficina, entonces tendrá que utilizar el perfil ICC de su impresora de oficina. dispositivos de gama más baja normalmente no vienen con un perfil ICC, sin embargo, es posible que pueda descargar uno para su dispositivo desde Internet. software de manipulación de imágenes como Photoshop o PhotoPaint vienen con una selección de perfiles que se pueden utilizar.

Se podría intentar algo como esto, aunque no estoy seguro si esto funciona o es correcta. Vea la ImageMagick documentación para obtener más ayuda.

convert cmyk_image.eps -profile sRGB.icc rgb_image.jpg
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top