将 Photoshop HSL 调整层转换为颜色矩阵?

Convert Photoshop HSL Adjustment layer to Color Matrix?

我正在为颜色矩阵做噩梦。我在 photoshop 中使用了一个调整图层,其值为 Hue: -37Saturation: -25,这会产生漂亮的粉红色黎明色:

我正在尝试使用 EaselJS 根据 Rainmeter 的 HSL 调整层中的值创建我的矩阵(只能使用这些值),所以我正在生成我的矩阵:

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

看这里:http://www.createjs.com/docs/easeljs/classes/ColorMatrix.html#method_adjustColor

如您所见,这会产生亮绿色:

还有其他方法可以生成我的颜色矩阵吗?我可以将 Photoshop 调整图层转换为颜色矩阵吗? 结果的差异是否与未检查 Colorize 有关?

事实证明这个问题的答案相当简单。生成的矩阵是正确的,但略有不同。这些差异原来是因为 Photoshop HSL 调整层也更改了 brightnesscontrast。我相信 LightnessBrightnessContrast 的函数,尽管我不确定它是如何计算出来的,所以要做到完美并不容易。基本上是反复试验。

之前我的颜色完全错误的原因是 ColorMatrix.js 生成的数组从上到下而不是从左到右填充矩阵。

即:

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

变为:

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

缩短例如,真彩色矩阵将是一个 5x5 矩阵。