RGB渐变颜色转换公式及例程

公式:

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

Gradient表示第N步的R/G/B的值,A、B、Step表示从颜色A分Step步渐变为颜色B。

例程:

       通过使用: --> 绿 --> --> 红  分步骤的方式,使其渐变色循环整个颜色值;

         (1)红色(255,0,0)--->绿色(0,255,0)

        设Step=51,将RGB(255,0,0)颜色渐变为RGB(0,255,0),即RGB(255,0,0)经过51次颜色渐变转为RGB(0,255,0);

        (2)绿色(0,255,0)--->蓝色(0,0,255)

        设Step=51,将RGB(0,255,0)颜色渐变为RGB(0,0,255),即RGB(0,255,0)经过51次颜色渐变转为RGB(0,0,255);

        (3)蓝色(0,0,255)--->红色(255,0,0)

        设Step=51,将RGB(0,0,255)颜色渐变为RGB(255,0,0),即RGB(0,0,255)经过51次颜色渐变转为RGB(255,0,0);

float R=0,G=0,B=0;

//红--->绿
//(255,0,0)-->(0,255,0)
R=255,G=0,B=0;
for(float x=1;x<51;x++){
	R = 255+(0-255)*x/51;
	G = 0+(255-0)*x/51;
	B = 0;
	printf("R=%f G=%f B=%f \n",R,G,B);
}

//绿--->蓝
//(0,255,0)-->(0,0,255)
R=0,G=255,B=0;
for(float x=1;x<51;x++){
	R = 255+(0-255)*x/51;
	G = 0+(255-0)*x/51;
	B = 0;
	printf("R=%f G=%f B=%f \n",R,G,B);
}

//蓝--->红
//(0,0,255)-->(255,0,0)
R=0,G=0,B=255;
for(float x=1;x<51;x++){
	R = 255+(0-255)*x/51;
	G = 0+(255-0)*x/51;
	B = 0;
	printf("R=%f G=%f B=%f \n",R,G,B);
}

 引用连接:Python - 实现渐变色的RGB计算

你可能感兴趣的:(C语言,python,c++)