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’s Cesar H. Ribeiro, I’m Brazilian and I live in São Paulo country town. I’ve been working with Web Development since 2006, I’m Web Developer Freelancer, my main specialty is deploying custom Web Sites using the WordPress platform with base, transforming PSD/Layouts for Custom Themes. In feel years with Developer Freelancer, I worked with many agencies around the world like: Brazil, Australia, USA, Germany and Austria.

Related Posts