我需要计算两个十六进制颜色值之间的差异,因此输出是一个百分比值。我丢弃的第一件事是将十六进制值转换为十进制,因为第一个比最后一个具有更高的权重。
第二种选择是计算每个 RGB 值之间的差异,然后将它们全部相加。 However, the difference between 0, 0, 0
and 30, 30, 30
is much lower than the one between 0, 0, 0
and 90, 0, 0
.
This question recommends using YUV ,但我不知道如何使用它来建立差异。
此外, 这个 other question 有一个很好的公式来计算差异并输出 RGB 值,但它并不完全存在。
原文由 metrobalderas 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需计算一个 欧几里得距离: