我必须找到最近的颜色。例如,我有两种颜色colorA1,colorA2,它们几乎是同一颜色。而且我还有其他颜色colorB1。 我需要这样一种方法: 颜色getNearestColor(colorA1,colorA2,colorB1)。此方法应给我使用通过colorA1和colorA2之差计算得出的colorB2,然后使用它们的距离应给我提供与colorA1和colorA2具有相同距离的colorB2。 您能提出一些实施建议吗?
答案 0 :(得分:1)
要找到最接近的颜色,您需要定义“ near”,即度量。
在Wikipedia中,您可以找到color differences的不同指标。
我个人将使用2 * R * R + 4 * G * G + 3 * B * B。 (不需要平方根,您将只比较相同的指标)。易于计算,您可以只使用整数(如果使用32位整数,则不会溢出)。
然后找到哪种颜色与目标颜色之间的差异最小。
其他方法更为精确,但在这种情况下,“ RGB”是不够的。您需要知道正在使用哪个色彩空间(可能是在sRGB中)。