?? color.lib.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 + -