Перевод цвета из HEX в RGB

Рецепт №108. Из книги «128 рецептов php»
Перейти к оглавлению

В рецепте приведен пример перевода кода цвета из HEX в RGB.

Пример:

// перевод цвета из HEX в RGB
function hexToRgb($color) {
    // проверяем наличие # в начале,
  // если есть, то отрезаем ее
    if ($color[0] == '#') {
        $color = substr($color, 1);
    }
   
    // разбираем строку на массив
    if (strlen($color) == 6) { 
		// если hex цвет в полной форме - 6 символов
        list($red, $green, $blue) = array(
            $color[0] . $color[1],
            $color[2] . $color[3],
            $color[4] . $color[5]
        );
    } elseif (strlen($cvet) == 3) { 
		// если hex цвет в сокращенной 
// форме - 3 символа
        list($red, $green, $blue) = array(
            $color[0]. $color[0],
            $color[1]. $color[1],
            $color[2]. $color[2]
        );
    }else{
        return false; 
    }
 
    // переводим шестнадцатеричные числа в десятичные
    $red = hexdec($red); 
    $green = hexdec($green);
    $blue = hexdec($blue);
     
    // вернем результат
    return array(
        'red' => $red, 
        'green' => $green, 
        'blue' => $blue
    );
}

// пример использования
$colorHex = '#FFAA00';
$result = hexToRgb($colorHex);
var_dump($result);
Рассказать друзьям:


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

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

*