/ 计算是不是灰度 阈值越高 越亮 true 暗色 false 亮色
checkGray(color){
let r =parseInt(color.substring(1,3),16)* 0.299
let g =parseInt(color.substring(3,5),16)* 0.587
let b =parseInt(color.substring(5,7),16)* 0.114
let gray = r+g+b
console.log(color.substring(1,3)+"|"+color.substring(3,5)+"|"+color.substring(5,7))
console.log(parseInt(color.substring(1,3),16)+"|"+parseInt(color.substring(3,5),16)+"|"+parseInt(color.substring(5,7),16))
console.log(gray)
if(gray>100){
return true
}else{
return false
}
}
// 获取颜色样式
getColorStyle(color){
let styleString = `width: 80px;height: 20px;margin: 0 auto;background-color:${color};`
if(!this.checkGray(color)){
styleString+="color:#FFF"
}
return styleString
},
该方法对16进制颜色进行判断可判断出颜色是深色还是浅色并给予正确的文字显示避免文字被颜色遮盖的情况
来源:CSDN
作者:qq_29910567
链接:https://blog.csdn.net/qq_29910567/article/details/103586196