Есть ли какая-либо технология на стороне клиента, способная конвертировать sRGB в CMYK с помощью цветового профиля ICC? - PullRequest
9 голосов
/ 16 января 2011

Есть ли какая-либо технология в браузере (на стороне клиента), способная преобразовывать цвета sRGB в CMYK и наоборот, используя указанный цветовой профиль ICC?

В настоящее время я использую скрытый апплет Java для преобразований (для этого в Java есть встроенный класс), но я пытаюсь найти альтернативу, поскольку апплеты java медленные и устаревшие.

SVG был бы идеальным вариантом, если бы браузеры поддерживали цвета ICC в SVG , но никто этого не делает. Вспышка или Silverlight также были бы хороши, но я не могу найти что-нибудь подходящее.

Ответы [ 2 ]

4 голосов
/ 27 января 2011

Правильно ли я считаю, что вы хотите использовать профиль ICC устройства отображения?

Я вполне уверен, что нет средства для определения профиля ICC устройства отображения с использованием JavaScript. В лучшем случае это возможно в сторонней среде, такой как Flash. Сама математика не будет проблемой.

Конечно, все это действительно является обязанностью веб-браузера. Firefox имеет достаточно хорошую поддержку для управления цветом. Если я не ошибаюсь, Microsoft собирается заняться управлением цветом в IE9.

2 голосов
/ 08 августа 2011

После прочтения вашего вопроса я не могу решить:

a.Вы пытаетесь выполнить мягкую операцию или

b.вы создаете приложение типа палитры цветов и хотите предоставить пользователям имена определенных цветов (например, pantone или NCS или что-то подобное) при отображении их приближенных значений sRGB или

c,совсем другое.

Какое пространство CMYK вас интересует?Если вы выполняете опцию (а) - мягкое корректирование - вы, вероятно, можете подогнать кривые к LUT в профиле CMYK и использовать их для определения преобразования с помощью «ярлыка», которое затем можно запустить в не-ICC-знайте время выполнения javascript, в котором вы работаете. Большинство профилей CMYK выполняют свое преобразование с LUT, и многие используют значения ICC4 NamedColor2 (которые вы можете знать как значение в тегах 'ncl2' ICC).

Если это так, я могу указать вам на некоторые ресурсы о том, как это сделать - я делаю это сам, используя SciPy в платформе приложения для анализа изображений python django для управления цветом, над которой я работаю.

Если вы выполняете опцию (b) и вам нужны имена цветов, вы можете извлечь нужные имена из вашего профиля CMYK (наиболее вероятные значения NamedColor2) и построить таблицу поиска, которую вы затем сможетесериализовать его в JSON, чтобы вы могли загрузить его в свое приложение.Если ваше приложение нуждается в некотором знании пространства дисплея, вы, вероятно, можете попросить пользователя «откалибровать» ваше приложение для своего дисплея - задать им несколько вопросов, которые позволят вам рассчитать смещение белой точки (и, возможно, RGB XYZtristimulii), а затем, возможно, создаст быстрое преобразование (которое может быть таким же простым, как одно преобразование хроматической адаптации, я полагаю), которое вы затем применяете к цветовым значениям, которые хотите «управлять цветом», прежде чем отобразить их.делать преобразования без системы CMS, математика Брюса Линдблума - хорошее место для начала:

http://www.brucelindbloom.com/

, если это в) Мне очень любопытно, что это такое.

что-нибудь из этого помогает?Я могу разработать и / или предоставить пример кода и т. Д., Если вы дополняете свой вопрос (я работаю в аналогичной проблемной области, поэтому мы оба могли бы победить в этом).

...