2010-08-03 151 views
2

我想要有從一種顏色切換到另一種顏色的按鈕。獲取兩種顏色之間所有顏色的十六進制代碼?

例如, 1000個按鈕,其中第一個是黃色,最後一個是綠色,所有中間的按鈕將從黃色緩慢移動到綠色。

所以我想我需要一些軟件/網頁來生成這兩種顏色之間的顏色(例如#8a3a3a)的所有十六進制代碼。

這可能嗎?

謝謝!

回答

1

拆分兩個輸入顏色分爲紅,綠,藍組件並將其轉換爲浮動。從目標組件中減去源組件,將每個組件除以1000,並將它們稱爲f.ex. deltaRed,deltaGreen,deltaBlue。從源代碼組件開始,將它們轉換爲「#rrggbb」字符串1000次,每個循環添加增量。如果你想實際達到目標顏色,你必須從0循環到1000,即。 1001次。

1

是的。您可以如下計算它:

想象一下,顏色是三維空間中的點,每個組分(紅色,綠色和藍色)代表一個維度。根據兩種顏色之間所需的色調數量,您可以嘗試均勻分配兩種顏色之間的差異,分別爲每個組件分配。例如,如果rA是顏色A的紅色分量,rB是顏色B的紅色分量,並且如果您需要10個步驟,則第二步的紅色分量爲r2 =(rB-rA)* 2/10.

將組件轉換爲十進制數(例如8a => 138),並且您應該爲計算編寫一個小程序。我不認爲你需要那麼多的色調,因爲每個組件只有0到255的範圍(舍入必要),而人眼無法區分這麼多的色彩。

相關問題