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