30 ответов:
следующее сделает для преобразования RGB в hex и добавит любое необходимое нулевое заполнение:
function componentToHex(c) { var hex = c.toString(16); return hex.length == 1 ? "0" + hex : hex; } function rgbToHex(r, g, b) { return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b); } alert( rgbToHex(0, 51, 255) ); // #0033ffпреобразование в другую сторону:
function hexToRgb(hex) { var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); return result ? { r: parseInt(result[1], 16), g: parseInt(result[2], 16), b: parseInt(result[3], 16) } : null; } alert( hexToRgb("#0033ff").g ); // "51";наконец, альтернативная версия
rgbToHex(), как описано в ответе @ casablanca и предложено в комментариях @cwolves:function rgbToHex(r, g, b) { return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1); }Обновление 3 Декабря 2012
вот версия
hexToRgb()это также анализирует стенографический шестнадцатеричный триплет, такой как"#03F":function hexToRgb(hex) { // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF") var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; hex = hex.replace(shorthandRegex, function(m, r, g, b) { return r + r + g + g + b + b; }); var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); return result ? { r: parseInt(result[1], 16), g: parseInt(result[2], 16), b: parseInt(result[3], 16) } : null; } alert( hexToRgb("#0033ff").g ); // "51"; alert( hexToRgb("#03f").g ); // "51";
альтернативная версия hexToRgb:
function hexToRgb(hex) { var bigint = parseInt(hex, 16); var r = (bigint >> 16) & 255; var g = (bigint >> 8) & 255; var b = bigint & 255; return r + "," + g + "," + b; }изменить: 28.03.2017 Вот еще один подход
это, кажется, еще быстрееfunction hexToRgbNew(hex) { var arrBuff = new ArrayBuffer(4); var vw = new DataView(arrBuff); vw.setUint32(0,parseInt(hex, 16),false); var arrByte = new Uint8Array(arrBuff); return arrByte[1] + "," + arrByte[2] + "," + arrByte[3]; }Edit: 8/11/2017 Новый подход выше после большего тестирования не быстрее : (. Хотя это забавный альтернативный способ.
вот мой вариант:
function rgb2hex(red, green, blue) { var rgb = blue | (green << 8) | (red << 16); return '#' + (0x1000000 + rgb).toString(16).slice(1) } function hex2rgb(hex) { // long version r = hex.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i); if (r) { return r.slice(1,4).map(function(x) { return parseInt(x, 16); }); } // short version r = hex.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i); if (r) { return r.slice(1,4).map(function(x) { return 0x11 * parseInt(x, 16); }); } return null; }
Я предполагаю, что вы имеете в виду HTML-стиль шестнадцатеричной нотации, т. е.
#rrggbb. Ваш код почти правильный, за исключением того, что у вас есть обратный порядок. Это должно быть:var decColor = red * 65536 + green * 256 + blue;кроме того, использование битовых сдвигов может сделать его немного легче читать:
var decColor = (red << 16) + (green << 8) + blue;
ECMAScript 6 версия ответ Тима Дауна
преобразование RGB в hex
const rgbToHex = (r, g, b) => '#' + [r, g, b].map(x => { const hex = x.toString(16) return hex.length === 1 ? '0' + hex : hex }).join('') console.log(rgbToHex(0, 51, 255)); // '#0033ff'преобразование hex в RGB
возвращает массив
[r, g, b]. Работает также с сокращенными шестнадцатеричными тройками, такими как"#03F".const hexToRgb = hex => hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i ,(m, r, g, b) => '#' + r + r + g + g + b + b) .substring(1).match(/.{2}/g) .map(x => parseInt(x, 16)) console.log(hexToRgb("#0033ff")) // [0, 51, 255] console.log(hexToRgb("#03f")) // [0, 51, 255]бонус: RGB в hex использование
padStart()методconst rgbToHex = (r, g, b) => '#' + [r, g, b] .map(x => x.toString(16).padStart(2, '0')).join('') console.log(rgbToHex(0, 51, 255)); // '#0033ff'обратите внимание, что этот ответ использует последнюю версию ECMAScript функции, которые не поддерживаются в старых браузерах. Если вы хотите, чтобы этот код работал во всех средах, вы должны использовать Бабель для компиляции кода.
этот код принимает # FFF и # ffffff варианты и непрозрачность.
function hex2rgb(hex, opacity) { var h=hex.replace('#', ''); h = h.match(new RegExp('(.{'+h.length/3+'})', 'g')); for(var i=0; i<h.length; i++) h[i] = parseInt(h[i].length==1? h[i]+h[i]:h[i], 16); if (typeof opacity != 'undefined') h.push(opacity); return 'rgba('+h.join(',')+')'; }
function hex2rgb(hex) { return ['0x' + hex[1] + hex[2] | 0, '0x' + hex[3] + hex[4] | 0, '0x' + hex[5] + hex[6] | 0]; }
однострочный функциональный шестигранник для RGBA
поддерживает оба коротких
#fffи длинной#ffffff"формы".
Поддерживает альфа-канал (непрозрачность).
Не волнует, если хэш указан или нет, работает в обоих случаях.function hexToRGBA(hex, opacity) { return 'rgba(' + (hex = hex.replace('#', '')).match(new RegExp('(.{' + hex.length/3 + '})', 'g')).map(function(l) { return parseInt(hex.length%2 ? l+l : l, 16) }).concat(opacity||1).join(',') + ')'; }примеры:
hexToRGBA('#fff') -> rgba(255,255,255,1) hexToRGBA('#ffffff') -> rgba(255,255,255,1) hexToRGBA('#fff', .2) -> rgba(255,255,255,0.2) hexToRGBA('#ffffff', .2) -> rgba(255,255,255,0.2) hexToRGBA('fff', .2) -> rgba(255,255,255,0.2) hexToRGBA('ffffff', .2) -> rgba(255,255,255,0.2)
Это может быть использовано для получения цветов из вычисленных свойств стиля:
function rgbToHex(color) { color = ""+ color; if (!color || color.indexOf("rgb") < 0) { return; } if (color.charAt(0) == "#") { return color; } var nums = /(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/i.exec(color), r = parseInt(nums[2], 10).toString(16), g = parseInt(nums[3], 10).toString(16), b = parseInt(nums[4], 10).toString(16); return "#"+ ( (r.length == 1 ? "0"+ r : r) + (g.length == 1 ? "0"+ g : g) + (b.length == 1 ? "0"+ b : b) ); } // not computed <div style="color: #4d93bc; border: 1px solid red;">...</div> // computed <div style="color: rgb(77, 147, 188); border: 1px solid rgb(255, 0, 0);">...</div> console.log( rgbToHex(color) ) // #4d93bc console.log( rgbToHex(borderTopColor) ) // #ff0000Refs:
https://github.com/k-gun/so/blob/master/so_util.js#L10
https://github.com/k-gun/so/blob/master/so_util.js#L62
https://github.com/k-gun/so/blob/master/so_util.js#L81
/ / игнорируя нотацию hsl, значения цвета обычно выражаются как имена, rgb, rgba или hex -
// Hex может быть 3 значения или 6.
/ / Rgb может быть как процентами, так и целыми значениями.
// лучше учитывать все эти форматы, по крайней мере.
String.prototype.padZero= function(len, c){ var s= this, c= c || "0", len= len || 2; while(s.length < len) s= c + s; return s; } var colors={ colornames:{ aqua: '#00ffff', black: '#000000', blue: '#0000ff', fuchsia: '#ff00ff', gray: '#808080', green: '#008000', lime: '#00ff00', maroon: '#800000', navy: '#000080', olive: '#808000', purple: '#800080', red: '#ff0000', silver: '#c0c0c0', teal: '#008080', white: '#ffffff', yellow: '#ffff00' }, toRgb: function(c){ c= '0x'+colors.toHex(c).substring(1); c= [(c>> 16)&255, (c>> 8)&255, c&255]; return 'rgb('+c.join(',')+')'; }, toHex: function(c){ var tem, i= 0, c= c? c.toString().toLowerCase(): ''; if(/^#[a-f0-9]{3,6}$/.test(c)){ if(c.length< 7){ var A= c.split(''); c= A[0]+A[1]+A[1]+A[2]+A[2]+A[3]+A[3]; } return c; } if(/^[a-z]+$/.test(c)){ return colors.colornames[c] || ''; } c= c.match(/\d+(\.\d+)?%?/g) || []; if(c.length<3) return ''; c= c.slice(0, 3); while(i< 3){ tem= c[i]; if(tem.indexOf('%')!= -1){ tem= Math.round(parseFloat(tem)*2.55); } else tem= parseInt(tem); if(tem< 0 || tem> 255) c.length= 0; else c[i++]= tem.toString(16).padZero(2); } if(c.length== 3) return '#'+c.join('').toLowerCase(); return ''; } } //var c='#dc149c'; //var c='rgb(100%,25%,0)'; // var c= 'red'; alert(colors.toRgb(c)+'\n'+colors.toHex(c));
@ Тим, чтобы добавить к вашему ответу (его немного неудобно вписывать в комментарий).
как написано, я обнаружил, что функция rgbToHex возвращает строку с элементами после точки, и она требует, чтобы значения r, g, b находились в диапазоне 0-255.
function rgbToHex(r, g, b) { if(r < 0 || r > 255) alert("r is out of bounds; "+r); if(g < 0 || g > 255) alert("g is out of bounds; "+g); if(b < 0 || b > 255) alert("b is out of bounds; "+b); return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1,7); }
Если вам нужно сравнить два значения цвета (заданные как rgb,цвет имени или шестнадцатеричное значение) или преобразовать в шестнадцатеричный объект холста HTML5.
var canvas = document.createElement("canvas"); var ctx = this.canvas.getContext('2d'); ctx.fillStyle = "rgb(pass,some,value)"; var temp = ctx.fillStyle; ctx.fillStyle = "someColor"; alert(ctx.fillStyle == temp);
может быть, после такого?
function RGB2HTML(red, green, blue) { return '#' + red.toString(16) + green.toString(16) + blue.toString(16); } alert(RGB2HTML(150, 135, 200));отображает #9687c8
для 3 цифр функция hexToRgb Tim Down может быть улучшена, как показано ниже:
var hex2Rgb = function(hex){ var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})|([a-f\d]{1})([a-f\d]{1})([a-f\d]{1})$/i.exec(hex); return result ? { r: parseInt(hex.length <= 4 ? result[4]+result[4] : result[1], 16), g: parseInt(hex.length <= 4 ? result[5]+result[5] : result[2], 16), b: parseInt(hex.length <= 4 ? result[6]+result[6] : result[3], 16), toString: function() { var arr = []; arr.push(this.r); arr.push(this.g); arr.push(this.b); return "rgb(" + arr.join(",") + ")"; } } : null; };
(2017) простые функции стрелки ES6 composable
Я не могу удержаться, чтобы не поделиться этим для тех, кто может писать некоторые современные функциональные/композиционные js с помощью ES6. Вот некоторые гладкие однострочные я использую в цветовом модуле, который делает цветовую интерполяцию для визуализации данных.
обратите внимание, что это не обрабатывает альфа-канал на всех.
const arrayToRGBString = rgb => `rgb(${rgb.join(',')})`; const hexToRGBArray = hex => hex.match(/[A-Za-z0-9]{2}/g).map(v => parseInt(v, 16)); const rgbArrayToHex = rgb => `#${rgb.map(v => v.toString(16).padStart(2, '0')).join('')}`; const rgbStringToArray = rgb => rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/).splice(1, 3) .map(v => Number(v)); const rgbStringToHex = rgb => rgbArrayToHex(rgbStringToArray(rgb));
моя версия hex2rbg:
- принять короткий шестигранник, как #fff
- алгоритм compacity является o (n), должен быстрее, чем с помощью регулярных выражений. е.г
String.replace, String.split, String.matchetc..- использовать постоянного места.
- поддержка rgb и rgba.
возможно, Вам потребуется удалить шестигранник.trim () если вы используете IE8.
например
hex2rgb('#fff') //rgb(255,255,255) hex2rgb('#fff', 1) //rgba(255,255,255,1) hex2rgb('#ffffff') //rgb(255,255,255) hex2rgb('#ffffff', 1) //rgba(255,255,255,1)код:
function hex2rgb (hex, opacity) { hex = hex.trim(); hex = hex[0] === '#' ? hex.substr(1) : hex; var bigint = parseInt(hex, 16), h = []; if (hex.length === 3) { h.push((bigint >> 4) & 255); h.push((bigint >> 2) & 255); } else { h.push((bigint >> 16) & 255); h.push((bigint >> 8) & 255); } h.push(bigint & 255); if (arguments.length === 2) { h.push(opacity); return 'rgba('+h.join()+')'; } else { return 'rgb('+h.join()+')'; } }
Мне нужна функция, которая принимает недопустимые значения слишком как
rgb(-255, 255, 255) rgb (510, 255, 255)
Это спин-офф @cwolves answer
function rgb(r, g, b) { this.c = this.c || function (n) { return Math.max(Math.min(n, 255), 0) }; return ((1 << 24) + (this.c(r) << 16) + (this.c(g) << 8) + this.c(b)).toString(16).slice(1).toUpperCase(); }
хотя этот ответ вряд ли идеально подходит к вопросу, он может быть очень полезен, тем не менее.
- создать любой случайный элемент
var toRgb = document.createElement('div');
- установите любой допустимый стиль в цвет, который вы хотите преобразовать
toRg.style.color = "hsl(120, 60%, 70%)";
- снова вызовите свойство style
> toRgb.style.color;
< "rgb(133, 225, 133)"ваш цвет был преобразован в Rgbработает для: Hsl, Наговор
не работает для: именованные цвета
function hexToRgb(str) { if ( /^#([0-9a-f]{3}|[0-9a-f]{6})$/ig.test(str) ) { var hex = str.substr(1); hex = hex.length == 3 ? hex.replace(/(.)/g, '') : hex; var rgb = parseInt(hex, 16); return 'rgb(' + [(rgb >> 16) & 255, (rgb >> 8) & 255, rgb & 255].join(',') + ')'; } return false; } function rgbToHex(red, green, blue) { var out = '#'; for (var i = 0; i < 3; ++i) { var n = typeof arguments[i] == 'number' ? arguments[i] : parseInt(arguments[i]); if (isNaN(n) || n < 0 || n > 255) { return false; } out += (n < 16 ? '0' : '') + n.toString(16); } return out
я столкнулся с этой проблемой, так как я хотел принять любое значение цвета и иметь возможность добавить непрозрачность, поэтому я сделал этот быстрый плагин jQuery, который использует собственный холст в современных браузерах. Кажется, работает просто отлично.
Edit
оказывается, я не могу понять, как сделать его правильным плагином jQuery, поэтому я просто представлю его как обычную функцию.
//accepts any value like '#ffffff', 'rgba(255,255,255,1)', 'hsl(0,100%,100%)', or 'white' function toRGBA( c ) { var can = document.createElement( 'canvas' ), ctx = can.getContext( '2d' ); can.width = can.height = 1; ctx.fillStyle = c; console.log( ctx.fillStyle ); //always css 6 digit hex color string, e.g. '#ffffff' ctx.fillRect( 0, 0, 1, 1 ); //paint the canvas var img = ctx.getImageData( 0, 0, 1, 1 ), data = img.data, rgba = { r: data[ 0 ], //0-255 red g: data[ 1 ], //0-255 green b: data[ 2 ], //0-255 blue a: data[ 3 ] //0-255 opacity (0 being transparent, 255 being opaque) }; return rgba; };
R = HexToR("#FFFFFF"); G = HexToG("#FFFFFF"); B = HexToB("#FFFFFF"); function HexToR(h) {return parseInt((cutHex(h)).substring(0,2),16)} function HexToG(h) {return parseInt((cutHex(h)).substring(2,4),16)} function HexToB(h) {return parseInt((cutHex(h)).substring(4,6),16)} function cutHex(h) {return (h.charAt(0)=="#") ? h.substring(1,7):h}используйте эти функции для достижения результата без каких-либо проблем. :)
Я работаю с данными XAML, которые имеют шестнадцатеричный формат #AARRGGBB (Альфа, красный, зеленый, синий). Используя ответы выше, вот мое решение:
function hexToRgba(hex) { var bigint, r, g, b, a; //Remove # character var re = /^#?/; var aRgb = hex.replace(re, ''); bigint = parseInt(aRgb, 16); //If in #FFF format if (aRgb.length == 3) { r = (bigint >> 4) & 255; g = (bigint >> 2) & 255; b = bigint & 255; return "rgba(" + r + "," + g + "," + b + ",1)"; } //If in #RRGGBB format if (aRgb.length >= 6) { r = (bigint >> 16) & 255; g = (bigint >> 8) & 255; b = bigint & 255; var rgb = r + "," + g + "," + b; //If in #AARRBBGG format if (aRgb.length == 8) { a = ((bigint >> 24) & 255) / 255; return "rgba(" + rgb + "," + a.toFixed(1) + ")"; } } return "rgba(" + rgb + ",1)"; }
для преобразования непосредственно из jQuery вы можете попробовать:
function rgbToHex(color) { var bg = color.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); function hex(x) { return ("0" + parseInt(x).toString(16)).slice(-2); } return "#" + hex(bg[1]) + hex(bg[2]) + hex(bg[3]); } rgbToHex($('.col-tab-bar .col-tab span').css('color'))
function getRGB(color){ if(color.length == 7){ var r = parseInt(color.substr(1,2),16); var g = parseInt(color.substr(3,2),16); var b = parseInt(color.substr(5,2),16); return 'rgb('+r+','+g+','+b+')' ; } else console.log('Enter correct value'); } var a = getRGB('#f0f0f0'); if(!a){ a = 'Enter correct value'; } a;
сокращенная версия, которая принимает строку:
function rgbToHex(a){ a=a.replace(/[^\d,]/g,"").split(","); return"#"+((1<<24)+(+a[0]<<16)+(+a[1]<<8)+ +a[2]).toString(16).slice(1) } document.write(rgbToHex("rgb(255,255,255)"));чтобы проверить, если это еще не шестнадцатеричный
function rgbToHex(a){ if(~a.indexOf("#"))return a; a=a.replace(/[^\d,]/g,"").split(","); return"#"+((1<<24)+(+a[0]<<16)+(+a[1]<<8)+ +a[2]).toString(16).slice(1) } document.write("rgb: "+rgbToHex("rgb(255,255,255)")+ " -- hex: "+rgbToHex("#e2e2e2"));
учитывая много ответов, только частично ответьте на вопрос (либо от RGB до HEX или наоборот) я думал, что также опубликую свой частичный ответ.
у меня была аналогичная проблема, и я хотел сделать что-то вроде этого: введите любой допустимый цвет CSS (HSL(a), RGB(a), HEX или имя цвета) и 1. иметь возможность добавлять или удалять Альфа-значение, 2. возвращает объект rgb (a). Я написал плагин именно для этой цели. Его можно найти на GitHub (it требуется jQuery, но если вы хотите, вы можете раскошелиться и сделать ванильную версию). Вот это демо-страницы. Вы можете попробуйте для себя и увидеть выход, созданный на лету.
Я буду копипастить здесь:
генератор RGB принимает один аргумент, цвет, и предоставляет три варианта: asObject, addAlpha и removeAlpha. Если эти три параметра опущены, цвет RGB будет возвращен в виде строки.
$.rgbGenerator("white") // Will return rgb(255,255,255)обратите внимание, что по умолчанию включены Альфа-компоненты. Если входное значение содержит альфа-значение, выход будет в формате RGBa.
$.rgbGenerator("hsla(0,100%,50%,0.8)") // Will return rgba(255,0,0,0.8)вы можете отключить это поведение, установив removeAlpha в true. Это приведет к удалению любого Альфа-значения из исходного цвета HSLa или RGBa.
$.rgbGenerator("hsla(0,100%,50%,0.8)", {removeAlpha: true}) // Will return rgb(255,0,0)если, с другой стороны, вы хотите добавить альфа-канал, вы можете сделать это, установив addAlpha на любое значение между 0 и 1. Когда входной сигнал не-прозрачный цвет, значение Альфы будет добавлен. Если он является прозрачным, предоставленное значение перезапишет Альфа-компонент ввода.
$.rgbGenerator("hsl(0,100%,50%)", {addAlpha: 0.4}) // Will return rgba(255,0,0,0.4) $.rgbGenerator("hsla(0,100%,50%,0.8)", {addAlpha: 0.4}) // Will return rgba(255,0,0,0.4)наконец, можно также вывести цвет RGB(a) в качестве объекта. Он будет состоять из r, g, b и необязательно a.
$.rgbGenerator("hsla(0,100%,50%,0.8)", {asObject: true}) /* Will return { "r": 255, "g": 0, "b": 0, "a": 0.8 } */ $.rgbGenerator("hsla(0,100%,50%,0.8)", {asObject: true}).r // Will return 255
лучший ответ от Tim Down обеспечивает лучшее решение, которое я могу увидеть для преобразования в RGB. Мне нравится это решение для шестнадцатеричного преобразования лучше, потому что оно обеспечивает самую краткую проверку границ и нулевое заполнение для преобразования в шестнадцатеричное.
function RGBtoHex (red, green, blue) { red = Math.max(0, Math.min(~~this.red, 255)); green = Math.max(0, Math.min(~~this.green, 255)); blue = Math.max(0, Math.min(~~this.blue, 255)); return '#' + ('00000' + (red << 16 | green << 8 | blue).toString(16)).slice(-6); };использование операторов Left shift '
Я нашел это и потому, что я думаю, что это довольно прямо вперед и имеет проверочные тесты и поддерживает Альфа-значения (необязательно), это будет соответствовать случаю.
просто закомментируйте строку регулярного выражения, если вы знаете, что делаете, и это немного быстрее.
function hexToRGBA(hex, alpha){ hex = (""+hex).trim().replace(/#/g,""); //trim and remove any leading # if there (supports number values as well) if (!/^(?:[0-9a-fA-F]{3}){1,2}$/.test(hex)) throw ("not a valid hex string"); //Regex Validator if (hex.length==3){hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2]} //support short form var b_int = parseInt(hex, 16); return "rgba("+[ (b_int >> 16) & 255, //R (b_int >> 8) & 255, //G b_int & 255, //B alpha || 1 //add alpha if is set ].join(",")+")"; }
совершенно другой подход для преобразования шестнадцатеричного кода цвета в RGB без регулярных выражений
Он работает
#FFFи#FFFFFFформат на основе длины строки. Он удаляет#от начала строки и делит каждый символ строки и преобразует его в base10 и добавить его в соответствующий индекс на основе его позиции.//Algorithm of hex to rgb conversion in ES5 function hex2rgbSimple(str){ str = str.replace('#', ''); return str.split('').reduce(function(result, char, index, array){ var j = parseInt(index * 3/array.length); var number = parseInt(char, 16); result[j] = (array.length == 3? number : result[j]) * 16 + number; return result; },[0,0,0]); } //Same code in ES6 hex2rgb = str => str.replace('#','').split('').reduce((r,c,i,{length: l},j,n)=>(j=parseInt(i*3/l),n=parseInt(c,16),r[j]=(l==3?n:r[j])*16+n,r),[0,0,0]); //hex to RGBA conversion hex2rgba = (str, a) => str.replace('#','').split('').reduce((r,c,i,{length: l},j,n)=>(j=parseInt(i*3/l),n=parseInt(c,16),r[j]=(l==3?n:r[j])*16+n,r),[0,0,0,a||1]); //hex to standard RGB conversion hex2rgbStandard = str => `RGB(${str.replace('#','').split('').reduce((r,c,i,{length: l},j,n)=>(j=parseInt(i*3/l),n=parseInt(c,16),r[j]=(l==3?n:r[j])*16+n,r),[0,0,0]).join(',')})`; console.log(hex2rgb('#aebece')); console.log(hex2rgbSimple('#aebece')); console.log(hex2rgb('#aabbcc')); console.log(hex2rgb('#abc')); console.log(hex2rgba('#abc', 0.7)); console.log(hex2rgbStandard('#abc'));
HTML использует шестнадцатеричную систему, а rgb использует десятичную систему. таким образом, вы должны преобразовать число из шестнадцатеричного в десятичное и наоборот.
Comments