根據(jù)起始顏色和步長計(jì)算漸變顏色列表

/*

*@param startColor 開始顏色

* @param endColor 結(jié)束顏色

* @steps 步數(shù)

* @return colorList 結(jié)果顏色列表

*/

function calcLinearColor(start, end, steps) {

? ? ? const colorList = [];

? ? ? let startR = parseInt(start.slice(1, 3), 16);

? ? ? let endR = parseInt(end.slice(1, 3), 16) - startR;

? ? ? let startG = parseInt(start.slice(3, 5), 16);

? ? ? let endG = parseInt(end.slice(3, 5), 16) - startG;

? ? ? let startB = parseInt(start.slice(5, 7), 16);

? ? ? let endB = parseInt(end.slice(5, 7), 16) - startB;

? ? ? for(var i = 0; i < steps; i++) {

? ? ? ? let r = Math.round(startR + (endR / steps * i));

? ? ? ? let g = Math.round(startG + (endG / steps * i));

? ? ? ? let b = Math.round(startB + (endB / steps * i));

? ? ? ? r = r.toString(16).padStart(2, '0').toUpperCase();

? ? ? ? g = g.toString(16).padStart(2, '0').toUpperCase();

? ? ? ? b = b.toString(16).padStart(2, '0').toUpperCase();

? ? ? ? colorList.push(`#${r.toString(16)}${g.toString(16)}${b.toString(16)}`);

? ? ? }

? ? ? return colorList;

? ? }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • js語言學(xué)習(xí) 1.基本概念: 1.js是區(qū)分大小寫的 2.標(biāo)識符命名規(guī)則: 第一個字符必須是一個字母、下劃線(_)...
    NSQAQ閱讀 1,525評論 1 17
  • CSS CSS3 布局屬性 標(biāo)簽的權(quán)值為1,類選擇符的權(quán)值為10,ID選擇符的權(quán)值最高為100 !importan...
    53cfdb355418閱讀 517評論 0 0
  • 內(nèi)置對象 我們平時忙于開發(fā),很少有時間能夠?qū)⑽臋n看一遍。這樣在很多時候,我們本可以一個原生方法能夠?qū)崿F(xiàn)的程序,卻累...
    汨逸閱讀 425評論 0 0
  • 簡介 ECMAScript是JavaScript的標(biāo)準(zhǔn),JavaScript實(shí)現(xiàn)了ECMAScript,ECMAS...
    Zindex閱讀 589評論 0 1
  • 基本類型 類型檢測 typeof 用于返回 原始類型 number/string/boolean 及 funcit...
    zbeiping閱讀 290評論 0 0

友情鏈接更多精彩內(nèi)容