Примеры JavaScript - Как получить отдельно значение красного (Red), зеленого (Green), синего (Blue) цветов из RGB значения цвета? splitRGB, HEX2RGB

ОГЛАВЛЕНИЕ


Как получить отдельно значение красного (Red), зеленого (Green), синего (Blue) цветов из RGB значения цвета? splitRGB, HEX2RGB

Например, из цвета Lime (#00FF00, rgb(0,255,0) или rgb(0%,100%,0%)) получить массив из трех элементов (0,128,0), где нулевой элемент массива соответствует красному, первый зеленому, а второй синему цветам.

//hex2rgb это частный случай splitRGB
function splitRGB(color)
{
  color = getHexRGBColor(color);
  var matches = color.match(/^#?([\dabcdef]{2})([\dabcdef]{2})([\dabcdef]{2})$/i);
    
  if (!matches) return false;
 
  for (var i=1, rgb = new Array(3);  i<=3; i++) rgb[i-1] = parseInt(matches[i],16);
 
  return rgb;
}

Пример:

var rgbArr = splitRGB("FEC400");
var R = rgbArr[0];
var G = rgbArr[1];
var B = rgbArr[2];

*Функция splitRGB() использует ф-ю getHexRGBColor(), описанную в вопросе "Как преобразовать значение цвета из rgb(n,n,n) в #HEX?".