Получения HEX цвета из RGB

Получения HEX цвета из RGBСегодня наткнулся на интересный кусочек кода, который преобразовывает rgb цвет в hex. Rgb представляет собой массив из трех элементов rgb(red, green, blue). Каждое из трех элементов может иметь значение от 0 до 255. Использовать rgb не всегда удобно, поэтому часто цвет кодируется в шестнадцатеричное число — hex цвет, например — #FFFFFF.
Иногда бывает необходимо автоматически делать перекодирование цвета, в этом и поможет приведенный ниже код.

Код написан на javaScrpit. Я оформил его в функцию, что получилось привожу ниже:

// получение HEX из RGB
function getHexColor(color){
    color = color.replace(/\s/g,"");
    var colorRGB = color.match(/^rgb\((\d{1,3}[%]?),(\d{1,3}[%]?),(\d{1,3}[%]?)\)$/i);
    colorHEX = '';
    for (var i=1;  i<=3; i++){
        colorHEX += Math.round((colorRGB[i][colorRGB[i].length-1]=="%"?2.55:1)*parseInt(colorRGB[i])).toString(16).replace(/^(.)$/,'0$1');
    }
    return "#" + colorHEX;
}

// пример использования
alert(getHexColor('rgb(255, 255, 255)'));
Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*