我正在尝试创建一个接受随机颜色值的方法,然后检查它最接近哪些原色。
我想我必须比较它的 RGB 值并查看它在这些原色范围内的位置,然后将其设置为红色、黄色或蓝色等。
这样做的最佳方法是什么?谢谢
编辑 这个问题被标记为重复,但我检查了上述重复问题的另一个答案,但它没有提供我想要的答案。
使用公式
d = sqrt((r2-r1)^2 + (g2-g1)^2 + (b2-b1)^2)
有时会为不同的颜色产生相同的值。例如,输入颜色为R170 : G0 : B255
. 使用公式,与白色R255 : G255 : B255
和红色的距离产生 (int)269。R255 : G0 : B0
那么哪个颜色更接近,红色还是白色?我从列表中删除了黑白,但其他一些颜色仍然存在问题。
我正在与几种颜色进行比较,即:黑色、白色、红色、石灰。蓝色,黄色,青色。此处的 RGB 颜色表中列出的洋红色和灰色 rapidtables.com/web/color/RGB_Color.htm