
html中颜色可以使用rgb和hex方式来表示。在色彩中,色相、明度、纯度也都可以产生渐变效果,并会表现出具有丰富层次的美感。本文主要讲述两种颜色RGB数值的梯级渐变算法。
其中如如16进制颜色如#336600分别表示rgb模式中r的值为16进制33(即),g的值为16进制的66,和b为16进制的00,转换后用rgb完整表述为:rgb(51,102,0)。
其中使用16进制进行加减乘除不方便,尤其还使用了rgb的16进制颜色组合(#336600)。因此我们可以将16进制转换为rgb单个进行梯级运算在进行组合。
已知:RStart=50,REnd=200,RStart、REnd之间平均分成3份(Step=3),求每份的数值(StepN)分别是多少。
公式:Gradient = RStart+ (REnd-RStart) / Step * N (第N步的颜色rgb中R的值)
实现方法非常简单,只是需要将颜色从rgb到hex的互转。
实现代码:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | <script type= "text/javascript" >
function gradientColor(startColor,endColor,step){
startRGB = this .colorRgb(startColor);
startR = startRGB[0];
startG = startRGB[1];
startB = startRGB[2];
endRGB = this .colorRgb(endColor);
endR = endRGB[0];
endG = endRGB[1];
endB = endRGB[2];
sR = (endR-startR)/step;
sG = (endG-startG)/step;
sB = (endB-startB)/step;
var colorArr = [];
for ( var i=0;i<step;i++){
var hex = this .colorHex( 'rgb(' +parseInt((sR*i+startR))+ ',' +parseInt((sG*i+startG))+ ',' +parseInt((sB*i+startB))+ ')' );
colorArr.push(hex);
js实现获取颜色渐变代码
js实现获取颜色渐变代码:html中颜色可以使用rgb和hex方式来表示。在色彩中,色相、明度、纯度也都可以产生渐变效果,并会表现出具有丰富层次的美感。本文主要讲述两种颜色RGB数值的梯级渐变算法。其中如如16进制颜色如#336600分别表示rgb模式中r的值为16进制33(即),g的值为16
Top
|