700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > rgb rgba转换成hex格式的方法

rgb rgba转换成hex格式的方法

时间:2019-09-26 03:19:41

相关推荐

rgb rgba转换成hex格式的方法

function changeColor(value) {if (/rgba?/.test(value)) {var array = value.split(",");//不符合rgb或rgb规则直接returnif (array.length < 3)return "";value = "#";for (var i = 0, color; color = array[i++];) {if(i < 4){//前三位转换成16进制color = parseInt(color.replace(/[^\d]/gi, ''), 10).toString(16);value += color.length == 1 ? "0" + color : color;}else{//rgba的透明度转换成16进制color = color.replace(')', '')var colorA = parseInt(color*255);var colorAHex = colorA.toString(16);value += colorAHex;}}value = value.toUpperCase();}return value;}// 函数调用var hexcolor1= changeColor('rgb(255,255,0)');console.log(hexcolor1); //#FFFF00var hexcolor2= changeColor('rgba(255,255,0,1)');console.log(hexcolor2); //#FFFF00FF

这个转换难点在rgba的A透明度是0-1的数字,而前边的R、G、B都是0-255的数字,所以说前边的三个都可以直接由十进制转换成十六进制,而透明度只能是0%-100%对应的0-255的数字,再转换成十六进制。

以下为大概的对应数:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。