2011-04-07 149 views
0

是否有一種算法(我已經搜索,並沒有提出太多),給定一個十六進制值,能夠返回顏色名稱?它不必是任何特定的東西,任何藍色的陰影都會返回,因爲只有'藍色'很好。如何將十六進制值轉換爲顏色名稱

簡而言之,是否有一個由十六進制值和它們對應的顏色族組成的大型列表。我已經找到了名單,但它們似乎只有幾百種顏色。

我看到了this post,但那裏的解決方案似乎只將顏色分解爲三個區域。

EDIT

我改變了RGB text file,使得每種顏色將只落入以下色彩範圍:

  • 白色
  • 灰色
  • 品紅
  • 棕色
  • 黑色
  • 藍色
  • 綠色
  • 綠松石
  • 黃色
  • 橙色
  • 紅色
+1

正如您在文章中指出的那樣,將RGB色彩空間轉換爲HSV或HSL可能是最簡單的方法。您可以確定遠遠超過三個區域。您可以根據需要以不同的顏色分隔色相。 V或L會告訴你顏色是白色還是黑色。飽和度會告訴你它是否灰色。 – 2011-04-07 05:04:22

回答

2

正如你說你已經找到了名單,那麼很簡單。

計算RGB(例如)顏色的Euclidean Distance,並將該顏色稱爲最近的名稱。

順便說一下,超過一百種顏色對於人類語言來說實際上是一個很大的數字,即使只有一百種顏色,普通人也許無法區分不同顏色之間的差異。

1

rgb.txt是用於顏色名稱的常用列表。找到最接近的三聯體並稱之爲。

相關問題