rgb插值

    function gradientColor(startColor,endColor,step){
        startRGB = this.colorRgb(startColor);//轉(zhuǎn)換為rgb數(shù)組模式
        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++){
            //計(jì)算每一步的hex值 
            var hex = this.colorHex('rgb('+parseInt((sR*i+startR))+','+parseInt((sG*i+startG))+','+parseInt((sB*i+startB))+')');
            colorArr.push(hex);
        }
        return colorArr;
    }
 
    // 將hex表示方式轉(zhuǎn)換為rgb表示方式(這里返回rgb數(shù)組模式)
    gradientColor.prototype.colorRgb = function(sColor){
        var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
        var sColor = sColor.toLowerCase();
        if(sColor && reg.test(sColor)){
            if(sColor.length === 4){
                var sColorNew = "#";
                for(var i=1; i<4; i+=1){
                    sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1));
                }
                sColor = sColorNew;
            }
            //處理六位的顏色值
            var sColorChange = [];
            for(var i=1; i<7; i+=2){
                sColorChange.push(parseInt("0x"+sColor.slice(i,i+2)));
            }
            return sColorChange;
        }else{
            return sColor;
        }
    };
 
    // 將rgb表示方式轉(zhuǎn)換為hex表示方式
    gradientColor.prototype.colorHex = function(rgb){
        var _this = rgb;
        var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
        if(/^(rgb|RGB)/.test(_this)){
            var aColor = _this.replace(/(?:(|)|rgb|RGB)*/g,"").split(",");
            var strHex = "#";
            for(var i=0; i<aColor.length; i++){
                var hex = Number(aColor[i]).toString(16);
                hex = hex<10 ? 0+''+hex :hex;// 保證每個rgb的值為2位
                if(hex === "0"){
                    hex += hex;
                }
                strHex += hex;
            }
            if(strHex.length !== 7){
                strHex = _this;
            }
            return strHex;
        }else if(reg.test(_this)){
            var aNum = _this.replace(/#/,"").split("");
            if(aNum.length === 6){
                return _this;
            }else if(aNum.length === 3){
                var numHex = "#";
                for(var i=0; i<aNum.length; i+=1){
                    numHex += (aNum[i]+aNum[i]);
                }
                return numHex;
            }
        }else{
            return _this;
        }
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末台丛,一起剝皮案震驚了整個濱河市寒匙,隨后出現(xiàn)的幾起案子鹊奖,更是在濱河造成了極大的恐慌印蓖,老刑警劉巖势似,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘱兼,死亡現(xiàn)場離奇詭異锈玉,居然都是意外死亡拇砰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門匕垫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來僧鲁,“玉大人,你說我怎么就攤上這事象泵∧海” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵偶惠,是天一觀的道長春寿。 經(jīng)常有香客問我,道長忽孽,這世上最難降的妖魔是什么绑改? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任谢床,我火速辦了婚禮,結(jié)果婚禮上厘线,老公的妹妹穿的比我還像新娘识腿。我一直安慰自己,他們只是感情好造壮,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布渡讼。 她就那樣靜靜地躺著,像睡著了一般耳璧。 火紅的嫁衣襯著肌膚如雪成箫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天旨枯,我揣著相機(jī)與錄音蹬昌,去河邊找鬼。 笑死攀隔,一個胖子當(dāng)著我的面吹牛凳厢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播竞慢,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼先紫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了筹煮?” 一聲冷哼從身側(cè)響起遮精,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎败潦,沒想到半個月后本冲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡劫扒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年檬洞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沟饥。...
    茶點(diǎn)故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡添怔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贤旷,到底是詐尸還是另有隱情广料,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布幼驶,位于F島的核電站艾杏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盅藻。R本人自食惡果不足惜购桑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一畅铭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧勃蜘,春花似錦硕噩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽守问。三九已至匀归,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間耗帕,已是汗流浹背穆端。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仿便,地道東北人体啰。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像嗽仪,于是被迫代替她去往敵國和親荒勇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容