Какой лучший способ конвертировать .eps (CMYK) в .jpg (RGB) с помощью Image Magick - PullRequest
2 голосов
/ 17 июня 2010

У меня есть куча файлов .eps (CMYK), которые мне нужно преобразовать в файлы .jpg (RGB).

Следующая команда иногда дает мне изображения с недостаточным или чрезмерным насыщением .jpg по сравнению сисходный файл EPS:

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

Есть ли более разумный способ сделать это так, чтобы преобразованное изображение имело те же качества, что и исходный файл EPS?

Вот примерИнформация об исходном файле:

Изображение: rejm.eps Формат: PS (PostScript) Класс: DirectClass Геометрия: 537x471 Базовая геометрия: 1074x941 Тип: ColorSeparation Порядковый номер: Не определено Цветовое пространство: CMYK Глубина канала: Голубой: 8-разрядный пурпурный:8-битный желтый: 8-битный черный: 8-битный Статистика канала: голубой: мин: 0 (0) макс: 255 (1) среднее значение: 161,913 (0,634955) стандартное отклонение: 72,8257 (0,285591) маджента: мин: 0 (0) Макс .: 255 (1) Среднее: 184,261 (0,722591) Стандартное отклонение: 75,7933 (0,297229) Желтый: Мин: 0 (0) Макс: 255 (1) Среднее: 70,6607 (0,277101) Стандартное отклонение: 39,8677 (0,156344) Черный: мин: 0 (0) Макс .: 195 (0,764706) Среднее значение: 34.4382 (0.135052) Стандартное отклонение: 38.1863 (0.14975) Общая плотность чернил: 292% Цвета: 210489 Цель рендеринга: Не определено Разрешение: 28.35x28.35 Единицы измерения: PixelsPerCentimeter Размер файла: 997.727kb Чередование: нет Цвет фона: белый Цвет границы: #DFDFDFDFDFDFцвет: grey74 Геометрия страницы: 537x471 + 0 + 0 Ликвидация: не определено Итераций: 0 Сжатие: не определено Ориентация: Не определено Подпись: 8ea00688cb5ae496812125e8a5aea40b0f0e69c9b49b2dc4eb028b22f76f2964 Profile-iptc 1010

1010 *1010* 1012 1010 *1012* 1010 *1010* 1010 *1010* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *1012* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Ответы [ 2 ]

5 голосов
/ 17 июня 2010

Есть ли веская причина, по которой ваши выходные файлы находятся в формате JPEG? EPS является векторным форматом, в то время как JPEG является растровым форматом со сжатием с потерями, который специально оптимизирован для фотографий , т. Е. Изображений, состоящих из неопределенно определенных участков переменного цвета, в отличие от четко определенных сплошных областей, которые из чего состоят векторные изображения.

Таким образом, при преобразовании (растеризации) из любого векторного формата в JPEG вы в основном гарантированно получаете некрасивые краевые артефакты и пятнистые пятна в том, что должно быть сплошными цветными блоками. Это произойдет независимо от того, что вы делаете; это присуще формату JPEG. Способ минимизировать это - установить сжатие на ноль, но тогда вы не получите ни одного из преимуществ и, в принципе, у вас нет причин использовать JPEG.

Растровые форматы без потерь, такие как PNG, который поддерживается всеми веб-браузерами, намного лучше; они могут дать вам чистые цвета и более чистые края.

Если кто-то другой определяет формат JPEG для этого проекта, умоляю вас, пожалуйста, объясните это этому человеку. К сожалению, подавляющее большинство людей не понимают этого самого базового факта о формате JPEG, и знают только, что JPEG является растровым форматом «по умолчанию», поэтому в Интернете полно неправильно примененных растровых изображений JPEG ужасного качества - из корпоративных многомиллионных логотипов. -долларовые корпорации будут работать так называемыми профессиональными графическими дизайнерами.

Если случайно в ваши исходные файлы EPS встроены растровые изображения, и вы пытаетесь их извлечь, а не растеризовать векторные данные, я уверен, что инструменты типа «ps2image» в Ghostscript будут вместо этого сделай работу.

2 голосов
/ 17 июня 2010

Файл .eps - векторный формат файла.

.jpg - формат растрового файла.

Файл .eps визуализируется в растровое изображение, которое затем сжимается с использованием сжатия JPEG и сохраняется в файл .JPG.

Проблема, с которой вы сталкиваетесь, заключается в том, что CMYK предназначен для вывода на устройство. Таким образом, вам нужно будет применить соответствующий профиль ICC, используя Little CMS или PhotoShop / PhotoPaint. Соответствующий профиль зависит от устройства вывода. Если, например, вы отображаете результат на своем мониторе, вам нужно будет использовать профиль ICC вашего монитора. Если вы выводите результат на ваш офисный принтер, вам нужно будет использовать профиль ICC вашего офисного принтера. Устройства нижнего уровня обычно не имеют профиля ICC, однако вы можете загрузить его для своего устройства из Интернета. Программное обеспечение для работы с изображениями, такое как Photoshop или PhotoPaint, поставляется с набором профилей, которые можно использовать.

Вы можете попробовать что-то вроде этого, хотя я не уверен, будет ли это работать или правильно. См. документацию ImageMagick для получения дополнительной помощи.

convert cmyk_image.eps -profile sRGB.icc rgb_image.jpg
...