如何在matlab中创建更浅的颜色?

Mic*_*ech 4 algorithm matlab

我有一个基色,由基本的[RGB]矩阵表示.

我想根据我的常数创建一个较浅或较暗的颜色,基本上是一个角度(0 - 90°).

我正在寻找一种算法,如何根据该角度创建更亮或更暗的颜色.

较浅颜色的端点为白色,较暗颜色的端点为黑色.

愚蠢的例子:

Green -> Lime -> White

Blue -> Navy -> Black
Run Code Online (Sandbox Code Playgroud)
function [result] = GetColor(baseColor, angleValue)

    value = round(angleValue);

    endcolor = [1 1 1];

    r = linspace(basecolor(1,1), endcolor(1,1), 90);
    g = linspace(basecolor(1,2), endcolor(1,2), 90);
    b = linspace(basecolor(1,3), endcolor(1,3), 90);

    result = [r(value) g(value) b(value)];

end
Run Code Online (Sandbox Code Playgroud)

Ric*_*h C 5

你想要的颜色最轻/最黑的是什么?定义您的终点[r1 g1 b1],[r2 g2 b2]对应于0和90.然后使用:

colormap = [linspace(r1, r2, 91)' linspace(g1, g2, 91)' linspace(b1, b2, 91)']
Run Code Online (Sandbox Code Playgroud)

定义一组91种颜色,并选择与角度对应的颜色.