⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 color.lib.js

📁 asp的bbs程序
💻 JS
字号:
/*
  By Hangring
  #2007.12.28#
  ---
  use list:
  global.lib.js
  ---
  颜色
*/

$Defined('Color');
var Color = {};

// 颜色转为数值
Color.GetNumFromColor = function (color /* #000|#000000|rgb(0, 0, 0):String */) {
    if (! color) return 0;
    if (typeof color == 'number') return color;

    var arr = /#([\dA-F]{6})/i.exec(color);
    if (! arr) {
        var R, G, B;

        arr = /#([\dA-F]{3})/i.exec(color);
        if (! arr) {
            arr = /rgb\(([\dA-F]+),\s+([\dA-F]+),\s+([\dA-F]+)\)/i.exec(color);
            if (! arr) {
                return 0;
            }
            else {
                R = arr[1];
                G = arr[2];
                B = arr[3];
            }
        }
        else {
            R = arr[1].substr(0, 1);
            G = arr[1].substr(1, 1);
            B = arr[1].substr(2, 1);
            R = this.HexToDec(R + '' + R);
            G = this.HexToDec(G + '' + G);
            B = this.HexToDec(B + '' + B);
        }
        return R * Math.pow(16, 4) + G * Math.pow(16, 2) + parseInt(B);
    }
    else {
        return this.HexToDec(arr[1]);
    }
};

// 由数字转为#颜色值
Color.GetColorFromNum = function (num /* :Number */) {
    var hex = num.toString(16);//this.DecToHex(num);
    for (var i = 0, len = 6 - hex.length; i < len; i++) {
        hex = '0' + hex;
    }
    return '#' + hex.substr(hex.length - 6);
};

// 由R, G, B转为#颜色值
Color.GetColorFromRGB = function (r /* :Number */, g /* :Number */, b /* :Number */) {
    return this.GetColorFromNum(r * Math.pow(16, 4) + g * Math.pow(16, 2) + b);
};

// 十六进制数转为十进制
Color.HexToDec = function (hex /* :String */) {
    var dec = 0;
    for (var i = 0, len = hex.length; i < len; i++) {
        dec += this.HexToNum(hex.substr(i, 1)) * Math.pow(16, len - 1 - i);
    }
    return dec;
};

// 十进制数转为十六进制
Color.DecToHex = function (dec /* :Number */) {
    if (typeof dec != 'number') return '0';
    var hex = '';
    if (dec == 0) hex = '0';
    while (dec > 0) {
        var _dec = dec % 16;
        dec = Math.floor(dec / 16);
        hex = this.NumToHex(_dec) + '' + hex;
    }
    return hex;
};

Color.HexToNum = function (hex /* :String */) {
    switch (hex.toUpperCase()) {
        case '0':
            return 0;
        case '1':
            return 1;
        case '2':
            return 2;
        case '3':
            return 3;
        case '4':
            return 4;
        case '5':
            return 5;
        case '6':
            return 6;
        case '7':
            return 7;
        case '8':
            return 8;
        case '9':
            return 9;
        case 'A':
            return 10;
        case 'B':
            return 11;
        case 'C':
            return 12;
        case 'D':
            return 13;
        case 'E':
            return 14;
        case 'F':
            return 15;
        default:
            throw new Error('a invalid hex char');
    }
};

Color.NumToHex = function (num /* :Number */) {
    switch (num) {
        case 0:
            return '0';
        case 1:
            return '1';
        case 2:
            return '2';
        case 3:
            return '3';
        case 4:
            return '4';
        case 5:
            return '5';
        case 6:
            return '6';
        case 7:
            return '7';
        case 8:
            return '8';
        case 9:
            return '9';
        case 10:
            return 'A';
        case 11:
            return 'B';
        case 12:
            return 'C';
        case 13:
            return 'D';
        case 14:
            return 'E';
        case 15:
            return 'F';
        default:
            throw new Error('a invalid digital');
    }
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -