Ric*_*hez 5 interpolation gradient colors
我使用下面的等式来获得从colorA到colorB的漂亮颜色渐变,但我不知道如何对3种颜色做同样的事情,所以渐变从colorA到colorB再到colorC
colorT = colorA * p + colorB * (1.0 - p); 其中"p"是从0.0到1.0的百分比
谢谢
那么,对于 3 种颜色,您可以使用 p = 0.0 到 2.0 进行相同操作:
if p <= 1.0
colorT = colorA * p + colorB * (1.0 - p);
else
colorT = colorB * (p - 1.0) + colorC * (2.0 - p);
Run Code Online (Sandbox Code Playgroud)
或者对其进行缩放,以便您仍然可以使用 p = 0.0 到 1.0:
if p <= 0.5
colorT = colorA * p * 2.0 + colorB * (0.5 - p) * 2.0;
else
colorT = colorB * (p - 0.5) * 2.0 + colorC * (1.0 - p) * 2.0;
Run Code Online (Sandbox Code Playgroud)