我需要计算两个十六进制颜色值之间的差值,因此输出为百分比值。我放弃的第一件事是将十六进制值转换为十进制数,因为第一个数值的权重比上一个要高得多。两个值与JS之间的色差/相似度%
第二种选择是计算每个RGB值之间的差异,然后将它们全部相加。然而,0, 0, 0
和30, 30, 30
之间的差异远低于0, 0, 0
和90, 0, 0
之间的差异。
This question建议使用YUV,但我无法弄清楚如何使用它来建立区别。
此外,this other question有一个很好的公式来计算差异和输出一个RGB值,但它不是那里。
我发现了一篇关于匹配颜色的好文章http://html5hub.com/exploring-color-matching-in-javascript/ – maersu