RGB颜色值是我们常用的一种颜色标准,通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色。形如255, 255, 255。

十六进制颜色码就是在软件中设定颜色值的代码。在很多软件中,都会遇到设定颜色值的问题,发展来源人的眼睛看到的颜色有两种:一种是发光体发出的颜色,比如计算机显示器屏幕显示的颜色;另一种是物体本身不发光,而是反射的光产生十六进制颜色。形如#FF00000,通常有6位和3位两种。

工具地址:RGB颜色值与十六进制颜色代码转换工具

代码实现:

RGB转十六位颜色值:

    hexcode = "#";
    for (x = 0; x < 3; x++) {;
        var n = document.getElementsByName("r-value")[x].value;
        if (n == "") n = "0";
        if (parseInt(n) != n) {
            $(\'.loading-result-1\').html(\'请输入数字!\');
            $(\'.loading-result-1\').removeClass(\'hide\');
            $(\'.from-rgb-result\').addClass(\'hide\');
            return;
        }
        if (n > 255) {
            $(\'.loading-result-1\').html(\'数字在0-255之间!\');
            $(\'.loading-result-1\').removeClass(\'hide\');
            $(\'.from-rgb-result\').addClass(\'hide\');
            return;
        }
        var c = "0123456789ABCDEF",
        b = "",
        a = n % 16;
        b = c.substr(a, 1);
        a = (n - a) / 16;
        hexcode += c.substr(a, 1) + b
    }

十六位进制颜色转RGB:

    var a = $(\'#code-value\').val();
    if (a.substr(0, 1) == "#") a = a.substring(1);
    a = a.toLowerCase();
    b = new Array();
    for (x = 0; x < 3; x++) {
        b[0] = len == 6 ? a.substr(x * 2, 2) : a.substr(x * 1, 1) + a.substr(x * 1, 1);
        b[3] = "0123456789abcdef";
        b[1] = b[0].substr(0, 1);
        b[2] = b[0].substr(1, 1);
        b[20 + x] = b[3].indexOf(b[1]) * 16 + b[3].indexOf(b[2])
    }

其中,a就是输入的十六位进制颜色码,RGB分别位b[20] + “,” + b[21] + “,” + b[22]。

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: