JS色RGBと16進変換コア
1864 ワード
JavaScriptの色の変換の核心は進数間の転換です.RGBフォーマットは十進数表記法ですので、十六進色とRGB色の変換は十六進数と十進数の間の変換です.
16進数から10進数への変換は比較的容易で、コアコードは以下の例のようになっています.パーrseInt(「0 xFF」)の結果は255であり、「0 x」は現在16進数であることを示しています.パーrseIntの後ろにパラメータがないので、デフォルトでは10進数に変換されます.
十進数から16進数に変換します.コアコードは以下の通りです.var num=255;num.toString(16)その結果はFFです」16”は数値を16進数文字列に変換することを表します.
変換コードは、まずRGBの色を16進数に変換したものである.
16進数から10進数への変換は比較的容易で、コアコードは以下の例のようになっています.パーrseInt(「0 xFF」)の結果は255であり、「0 x」は現在16進数であることを示しています.パーrseIntの後ろにパラメータがないので、デフォルトでは10進数に変換されます.
十進数から16進数に変換します.コアコードは以下の通りです.var num=255;num.toString(16)その結果はFFです」16”は数値を16進数文字列に変換することを表します.
変換コードは、まずRGBの色を16進数に変換したものである.
String.prototype.colorHex = function(){
var that = this;
//
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
// rgb
if (/^(rgb|RGB)/.test(that)) {
var aColor = that.replace(/(?:\(|\)|rgb|RGB)*/g, "").split(",");
var strHex = "#";
for (var i=0; i
16進数の色はRGB形式に変わります.String.prototype.colorRgb = function(){
var sColor = this.toLowerCase();
//
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
// 16
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;
}
//
var sColorChange = [];
for (var i=1; i<7; i+=2) {
sColorChange.push(parseInt("0x"+sColor.slice(i, i+2)));
}
return "RGB(" + sColorChange.join(",") + ")";
}
return sColor;
};
使い方var sRgb = "RGB(23, 245, 56)" , sHex = "#34538b";
var sHexColor = sRgb.colorHex();
var sRgbColor = sHex.colorRgb();