1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 十六进制颜色值与RGB(A)颜色值互相转换。

十六进制颜色值与RGB(A)颜色值互相转换。

时间:2024-08-20 03:17:42

相关推荐

十六进制颜色值与RGB(A)颜色值互相转换。

十六进制颜色值与RGB颜色值互相转换

RGB(A)颜色转换为十六进制的颜色值十六进制颜色值转换为RGB(A)颜色值

RGB(A)颜色转换为十六进制的颜色值

export function rgbToHex(val) {var r, g, b, a,regRgba = /rgba?\((\d{1,3}),(\d{1,3}),(\d{1,3})(,([.\d]+))?\)/, //判断rgb颜色值格式的正则表达式,如rgba(255,20,10,.54)rsa = val.replace(/\s+/g, '').match(regRgba);if (!!rsa) {r = parseInt(rsa[1]).toString(16);r = r.length == 1 ? '0' + r : r;g = (+rsa[2]).toString(16);g = g.length == 1 ? '0' + g : g;b = (+rsa[3]).toString(16);b = b.length == 1 ? '0' + b : b;a = (+(rsa[5] ? rsa[5] : 1)) * 100;return {hex: '#' + r + g + b, r: parseInt(r, 16), g: parseInt(g, 16), b: parseInt(b, 16), alpha: Math.ceil(a) };} else {return {hex: '无效', alpha: 100 };}}

十六进制颜色值转换为RGB(A)颜色值

export function hexToRgb (val) {// 16进制颜色值的正则var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;// 把颜色值变成小写var color = val.toLowerCase();var result = '';if (reg.test(color)) {// 如果只有三位的值,需变成六位,如:#fff => #ffffffif (color.length === 4) {var colorNew = "#";for (var i = 1; i < 4; i += 1) {colorNew += color.slice(i, i + 1).concat(color.slice(i, i + 1));}color = colorNew;}// 处理六位的颜色值,转为RGBvar colorChange = [];for (var i = 1; i < 7; i += 2) {colorChange.push(parseInt("0x" + color.slice(i, i + 2)));}result = "rgb(" + colorChange.join(",") + ")";return {rgb: result, r: colorChange[0], g: colorChange[1], b: colorChange[2] };} else {result = '无效';return {rgb: result };}}

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