Quelle est la meilleure façon de convertir un .eps (CMJN) à un .jpg (RVB) avec Image Magick
-
27-09-2019 - |
Question
J'ai un tas de fichiers .eps (CMYK) que je dois convertir en fichiers .jpg (RVB).
La commande suivante me donne parfois sous ou sursaturé images .jpg, par rapport à la source fichier EPS:
$cmd = "convert -density 300 -quality 100% -colorspace RGB ".$epsURL." -flatten -strip ".$convertedURL;
Y at-il une façon plus intelligente de faire de telle sorte que l'image convertie aura les mêmes qualités que le fichier source EPS?
Voici un exemple de l'info du fichier source:
Image: rejm.eps Format: PS (PostScript) Classe: DirectClass Géométrie: 537x471 la géométrie de base: 1074x941 Type: ColorSeparation Endianess: Non défini Colorspace: CMYK profondeur du canal: Cyan: 8 bits Magenta: 8 bits Jaune: 8 bits Noir: 8 bits Statistiques: Chaîne cyan: Min: 0 (0) Max: 255 (1) Moyenne: 161,913 (0,634955) Ecart type: 72,8257 (0,285591) Magenta: Min: 0 (0) Max: 255 (1) Moyenne: 184,261 (0,722591) Ecart type: 75,7933 (0,297229) Jaune: Min: 0 (0) Max: 255 (1) Moyenne: 70,6607 (0,277101) Ecart type: 39,8677 (0,156344) Noir: Min: 0 (0) Max: 195 (0.764706) Moyenne: 34,4382 (0,135052) Ecart type: 38,1863 (0,14975) Densité totale d'encre: 292% Couleurs: 210489 Intention de rendu: Non défini Résolution: 28.35x28.35 Unités: PixelsPerCentimeter Taille du fichier: 997.727kb Interlace: Aucun Couleur de fond: blanc Couleur de la bordure: #DFDFDFDFDFDF Couleur Matte: grey74 Géométrie de la page: 537x471 + 0 + 0 Éliminer: Undefined : 0 Iterations Compression: Non défini Orientation: Non défini Signature: 8ea00688cb5ae496812125e8a5aea40b0f0e69c9b49b2dc4eb028b22f76f2964 Profil-IPTC: 19738 octets
Merci
La solution
Y at-il une bonne raison de vos fichiers de sortie sont au format JPEG? EPS est un format de vecteur, tandis que JPEG est un format bitmap lossy compression qui est spécifiquement optimisé pour des images - c.-à-images, comprenant des plaques vaguement définies de couleur variables, par opposition aux zones solides nettement définis, ce qui est ce que des images vectorielles se composent de.
dans la conversion (rastérisation) de tout format vectoriel au format JPEG, vous êtes essentiellement assuré d'obtenir des artefacts de bord laids et de marbrures dans ce sont supposés être des blocs solides de couleur. Cela se produira, peu importe ce que vous faites; il est inhérent au format JPEG. La façon de minimiser c'est régler la compression à zéro, mais vous obtenez aucun des avantages et ont fondamentalement aucune raison d'être en JPEG.
formats bitmap non comme PNG lossy, qui est pris en charge par tous les navigateurs web, sont beaucoup mieux; ils peuvent vous donner des couleurs solides et des bords plus propres.
Si c'est quelqu'un d'autre qui spécifie le format JPEG pour ce projet, je vous en prie de bien vouloir, s'il vous plaît, expliquer cela à cette personne. Malheureusement, la grande majorité des gens ne comprennent pas ce fait très basique sur le format JPEG, et ne savent que JPEG est le format bitmap « par défaut », de sorte que le web est plein de mal appliqué horrible quaility images bitmap JPEG - de logos d'entreprise de plusieurs millions sociétés -Dollar au travail par ce qu'on appelle les concepteurs graphiques professionnels.
Si par hasard la source les fichiers EPS ont des images bitmap noyés dans la masse, et ce que vous essayez de faire est de les extraire, plutôt que des données vectorielles de pixelliser, je suis sûr que le type « ps2image » d'outils en Ghostscript faire le travail à la place.
Autres conseils
Le fichier An est un format de fichier vectoriel.
Un .jpg est le format de fichier bitmap.
Le fichier .eps est rendu à une image bitmap qui est ensuite compressé en utilisant la compression JPEG et enregistrée dans un fichier .JPG.
La question que vous exécutez en est que CMJN est conçu pour la sortie de l'appareil. Ainsi, vous aurez besoin d'appliquer un profil approprié ICC à l'aide Little CMS ou PhotoShop / PhotoPaint. Le profil approprié dépend de l'appareil de sortie. Si, par exemple, vous affichez le résultat sur votre moniteur, vous devez utiliser un moniteur de votre profil ICC. Si vous outputing le résultat à votre imprimante de bureau, vous devrez utiliser le profil ICC de l'imprimante de bureau. dispositifs d'extrémité inférieure ne viennent généralement pas avec un profil ICC, cependant, vous pourriez être en mesure de télécharger un appareil de l'Internet. logiciel de manipulation d'images comme Photoshop ou PhotoPaint ne viennent avec une sélection de profils qui peuvent être utilisés.
Vous pouvez essayer quelque chose comme ça, mais je ne suis pas sûr si cela fonctionne ou est correcte. Voir documentation ImageMagick pour une aide supplémentaire.
convert cmyk_image.eps -profile sRGB.icc rgb_image.jpg