【发布时间】:2018-02-23 16:59:57
【问题描述】:
我知道这个问题已经被问过here,但没有任何有意义的答案,开发者是一场噩梦。
使用 PSD.js 文本字符的颜色与 RGB、RGBA 或 CMYK 不匹配,颜色数组中有 5 个数字,如果您尝试比较,它们甚至与 Photoshop 文件中的文本颜色不匹配RBG 或 CMYK 值的任何数字。
PSD.js 显示文本特定部分颜色的示例显示了此数组:
[3] => Array
(
[0] => 27
[1] => 185
[2] => 116
[3] => 0
[4] => 255
)
您可以清楚地看到这些与我以前见过的任何颜色代码都无关。这些数字应该代表这种颜色:#db6971 - 但没有一个数字匹配任何东西,RGB 是 219,105,113,CMYK 是 11%,72%,46%,0%
那么有人知道这里发生了什么吗?我正在尝试将此文本呈现为 html,但我无法在不知道这些数字的含义的情况下设置颜色。
【问题讨论】:
-
如果您将 CMYK 百分比乘以 255(一个字节的最大值),您将非常接近您在数组中看到的值(28、184、117、0)。最后一个值可能是 alpha(透明度)分量,255 表示完全不透明。所以,我会说这是 CMYK+A。
-
也谢谢你也看看你的方法
-
Ehh.. 是的,但你需要反过来做。这是很简单的数学。如果您需要以百分比表示的 CMYK 值,这只是您需要求解的方程。 IE。对于以百分比表示的 C 值,它是 255 * C / 100 = 27,即 C = 27 * 100 / 255 = 10.58 (~= 11 %)。 M = 185 * 100 / 255 = 72.54 (~= 73 %) 等(Y ~= 45 %,K = 0%,A = 100%)。
-
是的,我没想到在我说这些早晨大声笑之前!不要以为你知道如何将 CMYK 转换为 RGB?
-
嗯.. 你可以在网上找到一些简单的算法,但是 CMYK 到 RGB 的转换最好使用 ICC 配置文件。
标签: javascript node.js psd