`
duchq044
  • 浏览: 28581 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

随机生成颜色以及十六进制颜色与RGB颜色值的相互转换

阅读更多
/**
 * 随机生成颜色
 * @return 随机生成的十六进制颜色
 */

function randomColor(){
  var colorStr=Math.floor(Math.random()*0xFFFFFF).toString(16).toUpperCase();
  return "#"+"000000".substring(0,6-colorStr)+colorStr;
}
 
/**
 * 十六进制颜色转换为RGB颜色
 * @param color 要转换的十六进制颜色
 * @return RGB颜色
 */
function colorHexToRGB(color){
  color=color.toUpperCase();
  var regexpHex=/^#[0-9a-fA-F]{3,6}$/;//Hex
  if(regexpHex.test(color)){
    var hexArray=new Array();
    var count=1;
    for(var i=1;i<=3;i++){
      if(color.length-2*i>3-i){
        hexArray.push(Number("0x"+color.substring(count,count+2)));
        count+=2;
      }else{
        hexArray.push(Number("0x"+color.charAt(count)+color.charAt(count)));
        count+=1;
      }
    }
    return "RGB("+hexArray.join(",")+")";
  }else{
    return color;
  }
}
 
/**
 * RGB颜色转换为十六进制颜色
 * @param color 要转换的RGB颜色
 * @return 十六进制颜色
 */

function colorRGBToHex(color){
  var regexpRGB=/^(rgb|RGB)\([0-9]{1,3},\s?[0-9]{1,3},\s?[0-9]{1,3}\)$/;//RGB
  if(regexpRGB.test(color)){
    color=color.replace(/(\(|\)|rgb|RGB)*/g,"").split(",");
    var colorHex="#";
    for(var i=0;i<color.length;i++){
      var hex=Number(color[i]).toString(16);
      if(hex.length==1) hex="0"+hex;
      colorHex+=hex;
    }
    return colorHex;
  }else{
    return color;
  }
}


分享到:
评论

相关推荐

    JS实现随机颜色的3种方法与颜色格式的转化

    相信大家都知道在前端的颜色表示方式有多种,一种是以3个或6个十六进制的数子表示,一种是RGB的数字形式,还有一种是直接以颜色的英文来表示。这三种都是不支持透明色的。所以还有RGBA的表式方式,在RGB的的基础上...

    PHP-Color:一个用于处理RGB,HSL和十六进制颜色PHP 7库。 使用此独立的库,可以创建方案,修改特定的颜色属性,导出CMYK并快速轻松地提出颜色建议

    演示: 下载: 版权所有:copyright:2016 Nicholas Jordon —保留所有权利特征在RGB,HSL,HSB,十六进制和CMYK色谱之间转换任何颜色。 动态为任何颜色生成10种不同的配色方案算法。 (超过165,000,000个可能的方案...

    supercolor:一个用于项目内部颜色管理的简单库

    使用此库,您可以创建,删除和管理调色板,获取随机颜色,获取两种颜色之间的所有颜色,获取和生成随机调色板或从调色板获取随机颜色,生成随机调色板,将颜色从十六进制转换为RGB反之亦然。 注意,这是使用原型...

    flat-color-generator:JavaScript工具生成用于设计的“平面”颜色

    平面颜色生成器使用JavaScript生成纯色集,并为用户提供RGB和十六进制值。 集合可以是随机的,也可以基于特定的色相值进行设置。 目录为什么? 从广义上讲,纯色已在UI设计中得到广泛使用,但同时,获得纯色而不用...

    vscode-swissknife:可编写脚本的VSCode扩展以生成或处理数据。 停止在网页中粘贴敏感数据

    可通过用户脚本扩展在可用一些内置选项: Base64编码/解码JWT解码十六进制编码/解码md5,sha1,sha256,sha512 Markdown到HTML 哈希标识符密码强度和生成时间戳记洛普·伊普森(Lorem Ipsum) RGB &lt;=&gt; HEX颜色...

    EXCEL集成工具箱V6.0

    【屏幕取色】 经典的屏幕取色工具,可取任意一处屏幕颜色到指定的存储格中,可显示为RGB颜色值或十六进制的颜色值,为VBA开发人员的辅助工具之一。 【万年日历】 可以查询所有节、假日信息和公农双历,以及计算两...

    EXCEL集成工具箱V8.0完整增强版(精简)

    【屏幕取色】 经典的屏幕取色工具,可取任意一处屏幕颜色到指定的存储格中,可显示为RGB颜色值或十六进制的颜色值,为VBA开发人员的辅助工具之一。 【万年日历】 可以查询所有节、假日信息和公农双历,以及计算两...

    delphi 开发经验技巧宝典源码

    0130 将TColor类型的颜色值转换为RGB值 85 0131 使用Bounds函数获得某矩形的TRect 86 0132 从已有的位图上创建位图 86 0133 使用Frame3D过程在画布上创建3D效果 87 4.9 文件操作的相关函数 87 0134 使用...

    delphi 开发经验技巧宝典源码06

    0130 将TColor类型的颜色值转换为RGB值 85 0131 使用Bounds函数获得某矩形的TRect 86 0132 从已有的位图上创建位图 86 0133 使用Frame3D过程在画布上创建3D效果 87 4.9 文件操作的相关函数 87 0134 使用...

    JavaScript基础教程第8版

    17.7 将RGB值转换为十六进制 340 17.8 对值进行转换 341 17.9 bookmarklet计算器 342 17.10 缩短URL 344 17.11 检验页面 344 17.12 通过电子邮件发送页面 345 17.13 改变页面大小 346

    《程序天下:JavaScript实例自学手册》光盘源码

    14.18 十六进制转换为十进制 14.19 将URL转化为16进制 14.20 小写金额转换为大写 14.21 通过两点坐标计算直线距离 14.22 随机抽取彩票 14.23 实时计算折扣 14.24 实用计算器 14.25 前面补0的方法 第15章 图形、图像...

    程序天下:JavaScript实例自学手册

    14.18 十六进制转换为十进制 14.19 将URL转化为16进制 14.20 小写金额转换为大写 14.21 通过两点坐标计算直线距离 14.22 随机抽取彩票 14.23 实时计算折扣 14.24 实用计算器 14.25 前面补0的方法 第15章 图形、图像...

    JavaScript网页特效范例宝典源码

    实例102 将RGB格式的颜色值转换为十六进制格式 161 实例103 将IP地址转换为对应的数值 163 实例104 从指定URL中提取文件名 164 3.3 随机函数 166 实例105 随机产生指定位数的验证码 166 实例106 生成随机字符串 167 ...

Global site tag (gtag.js) - Google Analytics