HEX Color в RGB формат на PHP

RGB (аббревиатура английских слов Red, Green, Blue — красный, зелёный, синий) — аддитивная цветовая модель, как правило, описывающая способ синтеза цвета для цветовоспроизведения.

function convert_color($hex) {
	$len = strlen($hex);
	preg_match("/([0-9]|[A-F]|[a-f]){".$len."}/i", $hex, $arr);
	$hex = $arr[0];
	if ($hex) {
		switch($len) {
			case 2:
				$red = hexdec($hex);
				$green = 0;
				$blue = 0;
			break;
			case 4:
				$red = hexdec(substr($hex, 0, 2));
				$green = hexdec(substr($hex, 2, 2));
				$blue = 0;
			break;
			case 6:
				$red = hexdec(substr($hex, 0, 2));
				$green = hexdec(substr($hex, 2, 2));
				$blue = hexdec(substr($hex, 4, 2));
			break;
		}
		$color['success'] = true;
		$color['r'] = $red;
		$color['g'] = $green;
		$color['b'] = $blue;
		return $color;
	} else {
		$color['success'] = false;
		return $color;
	}
}


Пример:

$hex = "F00FFF"; // входная строка, цвет в HEX

$arr = array();
$arr = convert_color($hex);

if ($arr['success']) echo $arr['r']." ".$arr['g']." ".$arr['b'];



Просмотров: 1707
13.02.2015, 22:46 -

Категория: Статьи » Программирование » PHP

Коментарии к HEX Color в RGB формат на PHP: