js随机深浅色颜色及原理

本文介绍了如何利用随机数和十六进制规则创建颜色代码,通过权重理解数字和字母在颜色渐变中的作用。方法一是通过添加随机数字到颜色字符串,方法二是生成固定长度的随机十六进制字符串。颜色深浅随随机数变化,从黑色到白色,透明度也有所调整。
摘要由CSDN通过智能技术生成

原理:

数字的权重大于字母的权重

数字原理

0-255 颜色由浅到深: 黑到白举例:

16进制的角度解析:
  1.#000-#999: 黑色-浅灰色(0-9 颜色逐渐变浅)  
  2.#aaa-#fff: 浅灰色-白色(a-f 颜色逐渐变浅)
  * #999 > #aaa
从打印色(r:red;g:green;b:blue)的角度和Alpha的色彩空间(透明度)剖析:
rgba: (0, 0, 0, 1)-(255, 255, 255, .1)颜色由黑到白,最后一位透明度值

所以看完上面,只要随机数越小,颜色越深,随机数越大颜色越浅,最大值255,最小值0,

方法一: 

AddDigitToColor(limit){
          let color = '',
          letters = '0123456789ABCDEF'.split('')
          color += letters[Math.round(Math.random() * limit )]
          return color;
        },
 randomColor() {
            let color = '#'
            color += this.AddDigitToColor(5)
            for (var i = 0; i < 5; i++) {
                color += this.AddDigitToColor(15)
            }
            return color
 }, 

方法二:
randomColor() {
   var col = "#";
   for (var i = 0; i < 6; i++) col+=parseInt(Math.random() * 12).toString(16);
   return col;
 },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值