[點(diǎn)晴永久免費(fèi)OA]JS將十六進(jìn)制顏色轉(zhuǎn)rgb以及加深減淡顏色值
十六進(jìn)制轉(zhuǎn)換為十進(jìn)制相對(duì)容易些,核心代碼如下示例:parseInt("0xFF"),其結(jié)果就是255,”0x”就表明當(dāng)前是16進(jìn)制,由于parseInt后面無(wú)參數(shù),默認(rèn)就是轉(zhuǎn)換為10進(jìn)制了。 function colorRgba(str,n){ //十六進(jìn)制顏色值的正則表達(dá)式 var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; var sColor = str.toLowerCase(); n= n||1; //十六進(jìn)制顏色轉(zhuǎn)換為RGB格式 if(sColor && reg.test(sColor)){ let sColorChange=getRgbNum(sColor); return "rgba(" + sColorChange.join(",") + ","+n+")"; }else{ return sColor; }}function getRgbNum(sColor){ if(sColor.length === 4){ var sColorNew = "#"; for(var i=1; i<4; i+=1){ //補(bǔ)全顏色值 例如:#eee,#fff等 sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1)); } sColor = sColorNew; } //處理六位顏色值 var sColorChange = []; for(var i=1; i<7; i+=2){ //核心代碼,通過(guò)parseInt將十六進(jìn)制轉(zhuǎn)為十進(jìn)制,parseInt只有一個(gè)參數(shù)時(shí)是默認(rèn)轉(zhuǎn)為十進(jìn)制的,第二個(gè)參數(shù)則是指定轉(zhuǎn)為對(duì)應(yīng)進(jìn)制 sColorChange.push(parseInt("0x"+sColor.slice(i,i+2))); } return sColorChange;}1234567891011121314151617181920212223242526272829 function LightDarkenColor(color, num) { let colorArr = getRgbNum(color); let sColorChange = []; for(var i=0;i<colorArr.length;i++){ let val = colorArr[i]+num; if(val<0){ val = 0; } if(val>255){ val=255; } sColorChange.push(val) } return "rgba(" + sColorChange.join(",") + ",1)";}123456789101112131415 該文章在 2023/4/12 9:41:00 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |