有一个颜色表,含有 1000 多种颜色的数据( https://en.wikipedia.org/wiki/List_of_colors:_A%E2%80%93F )
给定一个颜色,譬如#FF6600,如何在颜色表中找到与之最接近的颜色呢。
这样我就可以直接把 16 进制颜色值转化为接近的颜色名称。譬如#FF6600 是 Christmas orange
我的想法是,迭代整个颜色表中所有 1000 条数据,找到其中与当前给定颜色 rgb 分别相减平方和最小的数据。
(red1-red2)^2+(green1-green2)^2+(blue1-blue2)^2,但是每次查询都需要比较 n 次,感觉很弱呀
请问是否有更加巧妙的方法呢?
给定一个颜色,譬如#FF6600,如何在颜色表中找到与之最接近的颜色呢。
这样我就可以直接把 16 进制颜色值转化为接近的颜色名称。譬如#FF6600 是 Christmas orange
我的想法是,迭代整个颜色表中所有 1000 条数据,找到其中与当前给定颜色 rgb 分别相减平方和最小的数据。
(red1-red2)^2+(green1-green2)^2+(blue1-blue2)^2,但是每次查询都需要比较 n 次,感觉很弱呀
请问是否有更加巧妙的方法呢?