顏色轉換
阿新 • • 發佈:2017-06-03
logs ace 16進制 當我 ima ges cti org 函數
以藍色為例,#0000FF應該被表示成rgb(0,0,255)。
我們將函數命名為getRGB()
(可以將字符串視為數組,這個數組的元素為字符)
function getRGB(color) { var rgb = [parseInt(‘0x‘+color.slice(1,3)),parseInt(‘0x‘+color.slice(3,5)),parseInt(‘0x‘+color.slice(5,7))]; return "rgb(" + rgb[0] + "," + rgb[1] + "," +rgb[2] +")" ; }
在控制臺中,我們發現:當我們縮寫16進制顏色的時候,就會出現NaN;
(這個例子我練習了之前學到的數組的slice方法)
經過一段時間的學習,我們可以試試這樣
var getRGB = function(oRgb) { var color = [], rgb = []; oRgb = oRgb.replace(/#/, ""); if (oRgb.length == 3) { var tmp = []; for (var i = 0; i < 3; i++) { tmp.push(oRgb.charAt(i) + oRgb.charAt(i)); } oRgb = tmp.join(""); } for (var i = 0; i < 3; i++) { color[i] = "0x" + oRgb.substr(i + 2, 2); rgb.push(parseInt(Number(color[i]))); } return "rgb(" + rgb.join(",") + ")"; }
顏色轉換