2016-03-13 14 views
1

У меня кошмар с цветными матрицами. Я использую корректирующий слой в фотошопе со значениями Hue: -37, Saturation: -25 что приводит хороший цвет мизинца рассвета:Преобразование слоя CSS HSL в цветную матрицу?

Photoshop Adjustment Layer

Я пытаюсь использовать EaselJS создать свою матрицу на основе значений в моем регулировка HSL слой для Rainmeter (который может использовать только эти), поэтому я генерируя свою матрицу следующим образом:

new createjs.ColorMatrix().adjustColor(0, 0, -25, -37);

Смотрите здесь: http://www.createjs.com/docs/easeljs/classes/ColorMatrix.html#method_adjustColor

Это приводит к ярко-зеленого цвета, как вы можете увидеть:

Bright green

Есть еще один способ, чтобы генерировать свою цветовую матрицу? Можно ли преобразовать корректирующий слой Photoshop в цветную матрицу? Может ли разница в результатах быть связана с отсутствием Colorize?

+0

Пожалуйста, используйте точно такие же изображения, например. – nekavally

+0

@VallyN - изображения одинаковы. Я просто применяю матрицу только к одному слою во втором, а не ко всему изображению. –

+0

Я знаю, что PS может использовать цветокоррекцию. Может быть, [ColorFilter] (http://www.createjs.com/docs/easeljs/classes/ColorFilter.html) будет лучше в этом случае. – nekavally

ответ

1

Ответ на этот вопрос оказался довольно простым. Сгенерированные матрицы были правильными с небольшими различиями. Эти различия оказались в том, что корректирующий слой Photoshop HSL также изменяет brightness и contrast. Я считаю, что Lightness - это функция Brightness и Contrast, хотя я не уверен, как она разработана, поэтому ее нелегко добиться. Судебная и ошибка в основном.

Причина, по которой мои цвета были абсолютно неправильными, до того, что массив, созданный ColorMatrix.js, заполнит матрицу сверху вниз, не слева направо.

т.е .:

Array [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 

Становится:

Matrix [[0, 2, 4, 6, 8], 
     [1, 3, 5, 7, 9]] 

Укороченный, например, истинный цвет матрица будет представлять собой матрицу 5х5.