首页 > 代码库 > 颜色转换
颜色转换
以蓝色为例,#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(",") + ")"; }
颜色转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。