2011-01-20 108 views
6

確定兩個給定值之間顏色百分比值的最佳方法是什麼?換句話說,計算顏色C的%位置的最佳方法是什麼?查找兩種已知顏色之間顏色的百分比值

顏色A - 0x0000FF B色 - 0x00CCFF C顏色 - 0x00FFFF

謝謝!

+0

還有這個:https://code.google.com/p/mojocolors/可能值得研究 – Daniel 2011-02-02 01:42:24

回答

6

好吧,這不是那麼簡單,因爲它取決於你如何決定量化顏色。

你可以通過HSB做到這一點,在我看來這是更正確的方式(雖然不一定是事實),或者只是使用十六進制值。

最快可能做到這一點使用HAX值

var colour:uint = 0x9900CC; 
var r:uint = colour >> 16; 
var g:uint = colour >> 8 & 0xFF; 
var b:uint = colour & 0xFF; 

。這會給你的每個通道(C)(ABC是顏色)

然後做數學題,每個價值通道(C)

(cB - cA)/(cC - cA) 

然後,一旦你得到這些chanels的,您可以通過3

一起加入他們,並分

雖然有一個問題,如果任何通道的顏色A和C都是相同的,那麼需要添加一個異常(因爲cC和CA爲零且不能被零除),在這一點上,您還需要決定如何處理這種差異。

+0

謝謝Daniel,這個工作很完美。 – Andrei 2011-01-20 05:33:51