ОГЛАВЛЕНИЕ


Как получить отдельно значение красного (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?".