美文网首页互联网科技码农的世界网页前端后台技巧(CSS+HTML)
前端JavaScript-十六进制颜色和RGB颜色值的相互转换

前端JavaScript-十六进制颜色和RGB颜色值的相互转换

作者: 560b7bb7b879 | 来源:发表于2019-05-15 22:11 被阅读3次

十六进制颜色值和RGB颜色值的相互转换,在实际应用中并不鲜见。

颜色值返回的值是RGB格式,虽然没有错误,可能对于应用习惯来说有点别扭。

所以很多朋友就希望能够将其转换为十六进制的,下面就通过代码实例介绍一下如何实现此转换。

var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;

上面的正则表达式能够匹配十六进制颜色值。

RGB颜色转换为十六进制:


String.prototype.colorHex = function(){
  var that = this;
  if(/^(rgb|RGB)/.test(that)){
    var aColor = that.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",");
    var strHex = "#";
    for(var i=0; i<aColor.length; i++){
      var hex = Number(aColor).toString(16);
      if(hex === "0"){
        hex += hex;        
      }
      strHex += hex;
    }
    if(strHex.length !== 7){
      strHex = that;        
    }
    return strHex;
  }
  else if(reg.test(that)){
    var aNum = that.replace(/#/,"").split("");
    if(aNum.length === 6){
      return that;        
    }
    else if(aNum.length === 3){
      var numHex = "#";
      for(var i=0; i<aNum.length; i+=1){
        numHex += (aNum+aNum);
      }
      return numHex;
    }
  }
  else{
    return that;        
  }
};

十六进制转换成RGB:


String.prototype.colorRgb=function(){
  var sColor = this.toLowerCase();
  if(sColor && reg.test(sColor)){
    if(sColor.length === 4){
      var sColorNew = "#";
      for(var i=1; i<4; i+=1){
        sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1));        
      }
      sColor = sColorNew;
    }
    //处理六位的颜色值  web前端学习交流扣qun:731771211   志同道合者进!
    var sColorChange = [];
    for(var i=1; i<7; i+=2){
      sColorChange.push(parseInt("0x"+sColor.slice(i,i+2)));        
    }
    return "RGB(" + sColorChange.join(",") + ")";
  }
  else{
    return sColor;        
  }
};

相关文章

  • 前端JavaScript-十六进制颜色和RGB颜色值的相互转换

    十六进制颜色值和RGB颜色值的相互转换,在实际应用中并不鲜见。 颜色值返回的值是RGB格式,虽然没有错误,可能对于...

  • 颜色RGB与十六进制的转换

    RGB值转换为十六进制颜色值 方法一: 方法二: 十六进制颜色值转换为RGB值 函数substr(I,length...

  • 取色值相关宏

    iOS中,常用的获取RGB颜色值和十六进制颜色值转换方法的宏定义。#define RGB(r,g,b) ...

  • CSS颜色

    颜色 颜色值的常用表示方式 十六进制色 RGB 颜色 RGBA 颜色 RGBA 颜色值是 RGB 颜色值的扩展,带...

  • JavaScript中颜色操作方法集合

    随机生成十六进制颜色 RGB 转十六进制 将 3 位颜色扩展为 6 位颜色 将 rgb()颜色字符串转换为具有每种...

  • JS 颜色RGB与16进制转换核心

    JavaScript颜色转换的核心就是进制间的转换。RGB格式其实就是十进制表示法,所以,十六进制颜色与RGB颜色...

  • 开发中常用的工具

    1、图片压缩工具2、RGB颜色值与十六进制颜色码转换工具 3、Unicode编码转换4、Flex 布局教程:语法篇...

  • js颜色进制之间的转换

    十进制、十六进制、RGBA颜色值之间的相互转换 10进制转rgba rgb转16进制 16进制转10进制 完整代码...

  • Js相关文章索引(1)

    工具资源 1.RGB颜色值与十六进制颜色码转换工具2.CodeForDream 环境部署 Maven国内源�设置 ...

  • iOS中UIColor转十六进制编码

    今需要和安卓进行线条颜色粗细坐标的同屏,文档要求颜色值传十六进制编码。 转换思路:根据color分别取出rgb三值...

网友评论

    本文标题:前端JavaScript-十六进制颜色和RGB颜色值的相互转换

    本文链接:https://www.haomeiwen.com/subject/wotvaqtx.html