Taki zapis jest inna forma zapisu koloru RGB a dokładniej:
#
ffffff =
0xff = 255 (r1)
0xff = 255 (g1)0xff = 255 (b1)Analogicznie drugi kolor
#
f3f3f0 0xff = 243 (r2)
0xff = 243 (g2) 0xf0 = 240 (b2)Więc skoro znamy już "wartości" w systemie dziesiętnym znajdujemy różnicę pomiędzy nimi
r0 = r2 - r1 = -12
g0 = g2 - g1 = -12
b0 = b2 - b1 = -15
Obliczone wartości dzielisz przez liczbę kroków, w jakich następuje zmiana koloru. np 5 i obliczoną wartość dodajesz w każdym następnym kroku animacji
Kod
r += (r0/5)
g += (g0/5)
b += (b0/5)
Oczywiście możesz to zamienić spowrotem na wartość HEX koloru.
Nie stoi też za wiele rzeczy na przeszkodzie aby przekształcić podaną wartość koloru bez "konwersji" na rgb.
Kod
0xffffff = 16777215
0xf3f3f0 = 15987696
I możesz dodawać bezpośrednio do tych wartości. Jak to będzie wyglądało wizualnie, sprawdź sam.
Dobrze by było również zadbać o pewna zaokrąglanie wartości, ale to już zostawiam dla ciebie. Teorię już znasz.