2012-10-15 38 views
0

我有一個簡單的PHP函數,它爲HTML顏色生成十六進制值並將它們插入到數據庫中。計算十六進制顏色之間的距離並消除顏色太相似的函數

考慮從db中提取的十六進制值的數組,我該如何修改此函數以避免生成與其他顏色類似的顏色?

+0

你使用什麼樣的顏色表示?對於這種類型的任務恕我直言,HSV模型更容易用戶。您只需查看組件部件並根據特定閾值消除元素即可。這是什麼因素導致你的問題? [你有什麼嘗試?](http://whathaveyoutried.com/) – DaveRandom

回答

1

顏色的相似性有很多定義。您可能正在尋找類似的色調或類似的亮度。

爲了這些目的,也許最簡單的是採取在RGB空間中的兩個點之間的歐幾里得距離,即:

sqrt(pow($r1 - $r0, 2) + pow($g1 - $g0, 2) + pow($b1 - $b0, 2)); 

並拒絕那些該值太小

(例如,10?)
相關問題