隐藏侧边栏

简单的做一个颜色进制转换

以蓝色为例,#0000FF应该被表示成rgb(0,0,255)。

我们将函数命名为getRGB()

(可以将字符串视为数组,这个数组的元素为字符)

1
2
3
4
function getRGB(color) {
  var rgb = [parseInt('0x'+color.slice(1,3)),parseInt('0x'+color.slice(3,5)),parseInt('0x'+color.slice(5,7))];
  return "rgb(" + rgb[0] + ","  + rgb[1] + "," +rgb[2] +")" ;      
}

 

在控制台中,我们发现:当我们缩写16进制颜色的时候,就会出现NaN;

(这个例子我练习了之前学到的数组的slice方法)

我们可以试试这样

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var getRGB = function(oRgb) {
    var color = [],
        rgb   = [];
    oRgb = oRgb.replace(/#/, "");
    if (oRgb.length == 3) {
        var tmp = [];
        for (var i = 0; i < 3; i++) {
            tmp.push(oRgb.charAt(i) + oRgb.charAt(i));
        }
        oRgb = tmp.join("");
    }
    for (var i = 0; i < 3; i++) {
        color[i] = "0x" + oRgb.substr(i + 2, 2);
        rgb.push(parseInt(Number(color[i])));
    }
    return "rgb(" +  rgb.join(",") + ")";
}

  

  

posted @   OkayChen  阅读(1529)  评论(4编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示