zoukankan      html  css  js  c++  java
  • legend2---js生成随机16进制颜色

    legend2---js生成随机16进制颜色

    一、总结

    一句话总结:

    还是要【一位一位】生成16进制颜色比较方便,如果两位一起,就会导致【颜色少位】情况,比如#5e1a3
    【for i...0->5; '#'+=Math.floor(Math.random()*(n_max-n_min+1)+n_min).toString(16)】
    //随机生成颜色:十六进制颜色随机
    //生成n_min->n_max的颜色,范围是0->15,颜色值最大取f就是15
    function random_color16(n_min,n_max){
        let str='#';
        for(let i=0;i<6;i++){
            let per_10=Math.floor(Math.random()*(n_max-n_min+1)+n_min);
            //per_10的取值不能是16,因为16会被转换成10
            let per_16=per_10.toString(16);
            str+=per_16;
        }
        return str;
    }

    1、js如何生成[n,m]的随机数?

    【Math.random()生成[0,1)】的数,所以【Math.random()*5生成{0,5)】的数。
    【Math.floor(Math.random()*(max-min+1)+min);】

    二、js生成随机16进制颜色

    博客对应课程的视频位置:

    1、基础知识

    Math.random()生成[0,1)的数,所以
    Math.random()*5生成{0,5)的数。

    js如何生成[n,m]的随机数

    Math.floor(Math.random()*(max-min+1)+min);

    2、不好的方案

    //随机生成颜色:十六进制颜色随机,不能是白色
    function random_color16(){
        //let r = Math.floor(Math.random()*256);
        let r = Math.floor(Math.random()*200);
        let g = Math.floor(Math.random()*200);
        let b = Math.floor(Math.random()*200);
        let color1 = '#'+r.toString(16)+g.toString(16)+b.toString(16);
        return color1;
    }

    这样有问题,会生成 #5e1e3 这样的颜色,这不行

    3、较优方案

    //随机生成颜色:十六进制颜色随机
    //生成n_min->n_max的颜色,范围是0->15,颜色值最大取f就是15
    function random_color16(n_min,n_max){
        let str='#';
        for(let i=0;i<6;i++){
            let per_10=Math.floor(Math.random()*(n_max-n_min+1)+n_min);
            //per_10的取值不能是16,因为16会被转换成10
            let per_16=per_10.toString(16);
            str+=per_16;
        }
        return str;
    }

    比如random_color16(1,12)

     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    ( 三十一 )、 SpringBoot项目启动自动执行sql脚本
    转:OAuth 2.0 介绍
    采坑:python base64
    Redis学习——数据结构介绍(四)
    美化你的博客园,flash插件的使用
    Redis学习——详解Redis配置文件(三)
    Redis学习——Windows环境下Redis的安装(二)
    Redis学习——Linux环境下Redis的安装(一)
    NPM 安装速度慢,镜像修改
    日志配置(springboot、mybatis、Lombok)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13999134.html
Copyright © 2011-2022 走看看