ELIEL DE PAULA

FULL STACK WEBDEVELOPER

Convertendo cores Hexadecimais para RGB com PHP

Postado dia 19/09/2014
ProgramaçãoPHPDicas

Convertendo cores Hexadecimais para RGB com PHP

Esta função faz a conversão de valores hexadecimais para RGB, geralmente usado nos códigos CSS dos nossos sites.

function Hex2Rgb($hex) {
	
   $hex = str_replace("#", "", $hex);

   if(strlen($hex) == 3) {
      $r = hexdec(substr($hex,0,1).substr($hex,0,1));
      $g = hexdec(substr($hex,1,1).substr($hex,1,1));
      $b = hexdec(substr($hex,2,1).substr($hex,2,1));
   } else {
      $r = hexdec(substr($hex,0,2));
      $g = hexdec(substr($hex,2,2));
      $b = hexdec(substr($hex,4,2));
   }
   $rgb = array($r, $g, $b);
   
   return $rgb; // Retorna um array com os valores RGB
}

Exemplo de uso:

$rgb = Hex2Rgb("#cc0");

print_r($rgb);

// O resultado será algo como:
// Array ( [0] => 204 [1] => 204 [2] => 0 )

Agora vamos fazer o contrário, usando a próxima função, podemos recuperar um código hexadecimal passando um valor RGB:

function Rgb2Hex($rgb) {
   $hex = "#";
   $hex .= str_pad(dechex($rgb[0]), 2, "0", STR_PAD_LEFT);
   $hex .= str_pad(dechex($rgb[1]), 2, "0", STR_PAD_LEFT);
   $hex .= str_pad(dechex($rgb[2]), 2, "0", STR_PAD_LEFT);

   return $hex; // returns the hex value including the number sign (#)
}

// Exemplo de uso:
$rgb = array( 255, 255, 255 );
$hex = Rgb2Hex($rgb);

echo $hex;

// Resultado: #ffffff

Comentarios

converter hexadecimal rgb