Код:
procedure ClrToRGB(Color : TColor; var R, G, B : byte);
begin
R := Color and $ff;
G := (Color and $ff00) shr 8;
B := (Color and $ff0000) shr 16;
end;
если я правильно понял, у тебя три цвета, первый и второй - начальный и конечный в спектре, вначале берёшь их байты r,g,b и выясняешь коэффициенты изменения от одного цвета к другому. потом рассматриваемые цвета пикселов разлаживаешь на байты и проверяешь соответствие их найденным коэффициентам, как то так.
