W kolorowej grafice często mamy do czynienia ze skalowaniem, formalnie z interpolacją kolorów.
Najprostszym przykładem jest ten zwykły gradient, czyli te takie popularne cieniowanie na ekranie,
od jasnego do ciemnego, a w ogólności przejście pomiędzy dwoma dowolnymi kolorami, w zadanym kawałku ekranu.
np.: zielony(0,1,0)--------------zielono-czerwony---------------> czerwony(1,0,0)
na ekranie: kolor = rgb = (r,g,b), gdzie r,g,b = 0...255;
w sumie 3 bajty, no ale że int32 ma 4B, więc kolory mają obecnie prawie zawsze: 4B = 32 bity - sprzętowo,
W związku z tym mam taki problemik:
jak wyliczyć najszybciej kolor pośredni z dwóch danych - krańcowych, tz.:
c = k*a + b(1-k); gdzie k = 0..255; oraz kolory mają r,g,b także z 0-255, ale są trzymane w int32 - z przyczyn obiektywnych.
rgb = (r,g,b,0); po prostu, 4-ty bajt = 0.