JavaScript rgb與十六進位制格式轉換
在一不一樣的程式碼環境下可能需要不同的顏色格式。
下面就分享一段程式碼例項,它實現了兩種顏色格式的相互轉換功能。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼//顏色轉換 var Color = function() { if (!(this instanceof Color)) { var color = new Color(); color._init.apply(color, arguments); return color; } if (arguments.length) { this._init.apply(this, arguments); } } //設定get,set方法 var methods = ["red", "green", "blue", "colorValue"]; var defineSetGetMethod = function(fn, methods) { var fnPrototype = fn.prototype; for (var i = 0; i < methods.length; i++) { var methodName = methods[i].charAt(0).toLocaleUpperCase() + methods[i].substring(1); fn.prototype['set' + methodName] = new Function("value", "this." + methods[i] + "= value;"); fn.prototype['get' + methodName] = new Function("return this." + methods[i] + ";"); fn.prototype['toString'] = new Function('return "rgb("+this.red+","+this.green+","+this.blue+")";'); } }; defineSetGetMethod(Color, methods); //擴充套件函式的例項方法 var extend = function(fn, option) { var fnPrototype = fn.prototype; for (var i in option) { fnPrototype[i] = option[i]; } }; extend(Color, { _init : function() { if (arguments.length == 3) { this.red = arguments[0]; this.green = arguments[1]; this.blue = arguments[2]; this.getColorValue(); } else { var colorValue = arguments[0].replace(/^\#{1}/, ""); if (colorValue.length == 3) { colorValue = colorValue.replace(/(.)/g, '$1$1'); } this.red = parseInt('0x' + colorValue.substring(0, 2), 16); this.green = parseInt('0x' + colorValue.substring(2, 4), 16); this.blue = parseInt('0x' + colorValue.substring(4), 16); this.colorValue = "#" + colorValue; } }, getColorValue : function() { if (this.colorValue) { return this.colorValue; } var hR = this.red.toString(16); var hG = this.green.toString(16); var hB = this.blue.toString(16); return this.colorValue = "#" + (this.red < 16 ? ("0" + hR) : hR) + (this.green < 16 ? ("0" + hG) : hG) + (this.blue < 16 ? ("0" + hB) : hB); } }); console.log(Color(12,34,56)); console.log(Color("#fff")); console.log(Color("#defdcd"));
相關文章
- php中RGB轉十六進位制、十六進位制轉RGBPHP
- 十六進位制和RGB顏色格式的相互轉換
- 【進位制轉換】十進位制與十六進位制相互轉換方法
- iOS 常用RGB十六進位制顏色轉換方法iOS
- JavaScript 十六進位制顏色和RGB顏色值的相互轉換JavaScript
- Qt進位制轉換(十進位制轉十六進位制)QT
- JavaScript RGB轉換成16進位制顏色JavaScript
- Oracle中十進位制與十六進位制轉換程式Oracle
- 十六進位制轉換為八進位制
- 十六進位制轉換為十進位制
- 十六進位制顏色轉換為RGB程式碼例項
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- JavaScript中的多種進位制與進位制轉換JavaScript
- JavaScript 進位制轉換JavaScript
- 遞迴-進位制轉換器(十六進位制以內)遞迴
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- Python 進位制互相轉換(二進位制、十進位制和十六進位制)Python
- C++資料格式化5 - uint轉換成十六進位制字串&二進位制的data列印成十六進位制字串C++UI字串
- 二進位制、十進位制與十六進位制相互轉化
- 十進位制轉十六進位制
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- JavaScript 進位制轉換(2進位制、8進位制、10進位制、16進位制之間的轉換)JavaScript
- (轉)【iOS 開發】二進位制、十進位制、十六進位制相互轉換的方法iOS
- 大話二進位制,八進位制,十進位制,十六進位制之間的轉換
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- JavaScript十進位制轉換為二進位制JavaScript
- 進位制數轉換方法(八/十六/十)
- 十六進位制數轉十進位制
- 【轉帖】Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- python進位制轉換(二進位制、十進位制和十六進位制)及注意事項Python
- Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- JavaScript十六進位制和八進位制字面量JavaScript
- ORACLE使用函式對二進位制、十進位制、十六進位制數互相轉換Oracle函式