UNPKG

@jecloud/utils

Version:

JECloud 工具库

1 lines 1.58 kB
export function isHexColor(t){return/^#([0-9a-fA-F]{3}|[0-9a-fA-f]{6})$/.test(t)}export function rgbToHex(t,r,n){var e=(t<<16|r<<8|n).toString(16);return"#"+new Array(Math.abs(e.length-7)).join("0")+e}export function hexToRGB(t){var r=t.toLowerCase();if(isHexColor(t)){if(4===r.length){for(var n="#",e=1;e<4;e+=1)n+=r.slice(e,e+1).concat(r.slice(e,e+1));r=n}var o=[];for(e=1;e<7;e+=2)o.push(parseInt("0x"+r.slice(e,e+2)));return"RGB("+o.join(",")+")"}return r}export function colorIsDark(t){if(isHexColor(t)){var r=hexToRGB(t).replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",").map((function(t){return Number(t)}));return.299*r[0]+.578*r[1]+.114*r[2]<192}}export function darken(t,r){return t=t.indexOf("#")>=0?t.substring(1,t.length):t,r=Math.trunc(255*r/100),"#"+e(t.substring(0,2),r)+e(t.substring(2,4),r)+e(t.substring(4,6),r)}export function lighten(r,n){return r=r.indexOf("#")>=0?r.substring(1,r.length):r,n=Math.trunc(255*n/100),"#"+t(r.substring(0,2),n)+t(r.substring(2,4),n)+t(r.substring(4,6),n)}function t(t,r){var n=parseInt(t,16)+r,e=n>255?255:n;return e.toString(16).length>1?e.toString(16):"0"+e.toString(16)}function r(t,r,n){var e=[t,r,n].map((function(t){return(t/=255)<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}));return.2126*e[0]+.7152*e[1]+.0722*e[2]}function n(t,n){return(r(~~t[0],~~t[1],~~t[2])+.05)/(r(n[0],n[1],n[2])+.05)}export function calculateBestTextColor(t){return n(hexToRGB(t.substring(1)).split(","),[0,0,0])>=12?"#000000":"#FFFFFF"}function e(t,r){var n=parseInt(t,16)-r,e=n<0?0:n;return e.toString(16).length>1?e.toString(16):"0"+e.toString(16)}