2011-01-16 2 views
9

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

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

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

+0

Мое предложение состоит в том, что вы придерживаетесь решения Java, поскольку в этом нет ничего плохого. Я не понимаю, почему вы хотите его заменить, или почему вы предполагаете, что Flash или Silverlight будут лучше. – finnw

+0

Простое исполнение. Все взаимодействие JavaScript и Java-апплетов немного медленнее, так как это делается много раз в секунду, пока вы играете вокруг меняющихся цветов. –

+0

Если узкое место находится в передаче сообщений между JavaScript и апплетами, то я подозреваю, что замена Java на Flash или Silverlight не имеет значения. Но если вы в настоящее время используете [ColorSpace.fromCIEXYZ] (http://download.oracle.com/javase/6/docs/api/java/awt/color/ColorSpace.html#fromCIEXYZ (float [])) и связанные с ним методы на отдельные пиксели - Хорошо, что * * медленно. В Java реализованы более быстрые реализации (которые могут быть быстрее, чем JS или Flash.) – finnw

ответ

4

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

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

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

+0

Предоставление цветового профиля для RGB через файл тоже замечательно. Я уже использую файл для CMYK. Мне не нужно это для полных изображений, только для определенных цветов (для выбора цвета). Вспышка была бы прекрасна, учитывая, что сейчас я использую скрытый Java-апплет, что намного хуже. –

+0

@ Lea: Это может изменить ситуацию. Можете ли вы указать мне пример того, как вы на самом деле используете апплет? Код тоже в порядке. –

+0

http://coloratum.com Это все еще немного глючно и медленно, поскольку я еще не выпустил его. Просмотр с помощью современного браузера. –

2

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

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

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

с. что-то еще.

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

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

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

Чтобы сделать преобразования без системы CMS, математике Брюса Lindbloom является хорошим местом для начала:

http://www.brucelindbloom.com/

, если это с) Я очень интересно, что это такое.

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

+0

Это для выбора цвета. Я хочу, чтобы преобразование RGB CMYK <-> было таким же, как большинство пользователей привыкли к Photoshop, используя свой цветной профиль по умолчанию (который также ближе к любой печатной реальности, чем наивные CMYK <-> RGB-алгоритмы преобразования, которые выполняются без цветового профиля в все). –

+0

По умолчанию, как в US Web Coated SWOP v2? Это мое рабочее пространство CMYK по умолчанию; Я думаю, что это был дефолт по крайней мере с первого выпуска «Creative Suite». Возможно, это было до этого, но я не использовал управление цветом до появления CS, поэтому не знаю. – fish2000

+0

... Я согласен с тем, что самые наивные функции преобразования CMYK-to-RGB, которые вы найдете, являются ужасно тупыми инструментами, но (с угрозой звучания педантичной) печатной реальности, для многих людей, не обязательно SWOP ... при печати на струйная бумага, большинство современных струйных принтеров имеют гаммы, которые намного ближе к sRGB, чем веб-печать CMYK, например. – fish2000

Смежные вопросы