颜色渐变的RGB计算

Posted brave-sailor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了颜色渐变的RGB计算相关的知识,希望对你有一定的参考价值。

均匀渐变

    渐变(Gradient)是美学中一条重要的形式美法则,与其相对应的是突变。形状、大小、位置、方向、色彩等视觉因素都可以进行渐变。在色彩中,色相、明度、纯度也都可以产生渐变效果,并会表现出具有丰富层次的美感。本文主要讲述两种颜色RGB数值的渐变算法。

已知:A=50,B=200,A、B之间平均分成3份(Step=3),求每份的数值(StepN)分别是多少。

公式:Gradient = A + (B-A) / Step * N

[注]:编程时为了提高效率避免浮点运算,往往把除法放在最后面,这样公式就成了:Gradient = A + (B-A) * N / Step

    Step=3时,根据公式可以求出Step1=A+(A-B)/3*1=50+(200-50)/3=100,Step2=A+(A-B)/3*2=50+(200-50)/3*2=150。这就是均匀渐变的算法原理了,很简单,小学知识。

    两种颜色的渐变就是对两种颜色的RGB通道分别进行这样的计算,例如两种颜色分别是RGB(200,50,0)和RGB(50,200,0),用上述公式进行计算就是:

RStep1=RA=RA+(BA-RA)/Step*N=200+(50-200)/3*1=200-50=150

GStep1=GA=GA+(GA-GA)/Step*N=50+(200-50)/3*1=50+50=100

BStep1=BA=BA+(BA-BA)/Step*N=0

 

因此RGBStep1=(150,100,0),同样的方法可以求出RGBStep2=(100,150,0)。

以上是关于颜色渐变的RGB计算的主要内容,如果未能解决你的问题,请参考以下文章

通过所有 RGB 颜色渐变

在 PHP 中生成 RGB 渐变颜色的算法

求单片机控制rgb灯颜色渐变的代码。控制一个灯就行。颜色要都包括。

SVG颜色渐变和填充

RGB颜色渐变函数

js rgb颜色阶梯渐变效果实现