Olá pessoal, hoje eu venho aqui mostrar como pegar uma cor em hexadecimal e transformar a mesma para RGB com uma função em PHP.

Primeiro teremos que aplicar essa function abaixo na sua página de funções. No meu caso como eu trabalho com o WordPress eu adicionei a mesma no meu arquivo functions.php.

<?php
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;
}
?>
view raw functions.php hosted with ❤ by GitHub

Como vocês podem ver eu criei uma função chamada hex2RGB ela vai receber o nosso valor em hexadecimal e “quebrar” em partes para que assim possamos retornar o valor via hexdec.

Agora que já criamos a nossa função, vamos para o frontend para declarar nosso valor para ser convertido.

<?php
$hex_color = '#333333';
$rgb_color = hex2RGB($hex_color);
$result_rgb = implode(", ", $rgb_color);
?>
view raw get_value.php hosted with ❤ by GitHub

Eu criei uma variável chamada $hex_color  para receber o nosso valor, mas vocês também podem declarar já dentro da propria função hex2RGB(‘#333333’);

Eu fiz dessa forma criando um variável propria, somente para ficar visualmente mais facil de visualizar e também trabalhar.

Vamos tratar o valor final com a variável $result_rgb dentro dela eu dei um implode para aplicar a virgula junto com um espaçamento entre os valor.

<style type="text/css">
background-color: rgb(<?php echo $result_rgb;?>);
/*
Example how return value in your style
background-color: rgb('51,51,51');
*/
</style>

Agora é só pegar a variável e imprimir dentro de um style para ver o resultado final <?php echo $result_rgb;?>.

Vocês podem ver que eu deixei abaixo do estilo background-color um exemplo de como irá retorna o valor em seu css.

Lembrando que com esse metodo, também funciona para trabalhar com o RGBA é só aplicar o Alpha após o último valor, por exemplo: background-color: rgba(<?php echo $result_rgb;?>, 0.7);”.

Espero que vocês tenham gostado desse tutorial e até breve, por favor se você gostou deixe seu like e também compartilha.

Até Mais,

César Ribeiro
Written by

Hi, my name is Cesar H. Ribeiro. I’m Brazilian and currently reside in Hortolândia, São Paulo. I’ve been working in Web Development since 2006, specializing in creating custom websites using the WordPress platform. My expertise includes transforming PSD/layouts into custom themes. Over the years, I’ve collaborated with numerous agencies worldwide, including those in Brazil, Australia, the USA, Germany, and Austria.

Related Posts