Перевод цвета из RGB в HEX и обратно через PHP

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

// перевод цвета из RGB в HEX
function rgbToHex($color) {
    $red = dechex($color[0]); 
    $green = dechex($color[1]);
    $blue = dechex($color[2]);
    return "#" . $red . $green . $blue;
}
 
// пример использования
$colorRgb = array(125, 255, 0);
$result = rgbToHex($colorRgb);
var_dump($result);

И обратное преобразование, ниже приведен пример перевода кода цвета из 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);

Из книги «128 рецептов php»

02:15
934
RSS
Нет комментариев. Ваш будет первым!
Загрузка...