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"));
相關文章
- iOS 常用RGB十六進位制顏色轉換方法iOS
- JavaScript 十六進位制顏色和RGB顏色值的相互轉換JavaScript
- JavaScript RGB轉換成16進位制顏色JavaScript
- Qt進位制轉換(十進位制轉十六進位制)QT
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- JavaScript 進位制轉換JavaScript
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- JavaScript中的多種進位制與進位制轉換JavaScript
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- 二進位制、十進位制與十六進位制相互轉化
- C++資料格式化5 - uint轉換成十六進位制字串&二進位制的data列印成十六進位制字串C++UI字串
- 十進位制轉十六進位制
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- JavaScript十進位制轉換為二進位制JavaScript
- 進位制數轉換方法(八/十六/十)
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- JavaScript 進位制轉換 All In OneJavaScript
- JavaScript十六進位制和八進位制字面量JavaScript
- Python處理十六進位制與二進位制轉換的問題——binascii自帶庫PythonASCII
- [計算機基礎] 計算機進位制轉換:二進位制、八進位制、十進位制、十六進位制計算機
- [顏色進位制轉換]js實現rgb和hex的相互轉換JS
- Go語言實現十進位制轉換成二、八、十六進位制Go
- leedcode-數字轉換為十六進位制數
- jQuery顏色值轉換為十六進位制形式jQuery
- 整數轉化成八進位制、十六進位制、二進位制,以及轉回
- 進位制與二進位制及相關轉換
- 遞迴函式實現十進位制正整數轉換為二進位制,八進位制,十六進位制遞迴函式
- 進位制轉換
- JavaScript 生成十六進位制顏色值JavaScript
- oracle_16進位制與10進位制轉換小示例Oracle
- 透明度與十六進位制程式碼轉換
- 【python】進位制轉換Python
- 進位制的轉換
- 牛客網測試題 把十六進位制數字轉換為十進位制數字