Aí, galera. Eu não sei se algum de vocês já precisou de uma função dessas, mas eu tenho certeza que ainda vão precisar, pois é muito interessante seu conceito.
Certa vez, há um tempo atrás, eu só faltei endoidar tentando criar uma pra colocar numa macro de AutoCad e findei desistindo. Hoje, estava me lembrando e resolvi desenvolver uma.
Até achei algumas parecidas na internet.
Enfim.

No tutorial de hoje, vamos criar uma função que tem por objetivo transformar uma cor no formato HTML (#FFCC00) para o padrão RGB (Red, Green, Blue), ou seja, separar os componentes das cores Vermelha, Verde e Azul.

Vamos à função.

Função para transformar Cor HTML (Hexadecimal) para o padrão RGB
Código php
				
<?php

function hex2rgb ($color) {
return array (
'Red'=> hexdec (substr ($color, 0, 2)),
'Green'=> hexdec (substr ($color, 2, 2)),
'Blue'=> hexdec (substr ($color, 4, 2))
);
}


//Exemplo de resultado:
//Array ( [Red] => 255 [Green] => 238 [Blue] => 204 )
print_r(hex2rgb ('FFEECC'));


?>



E aí, gostaram da função?
Agora vamos fazer o inverso, supondo que eu tenho as cores no padrão RGB e quero transformá-la para o código a ser usado no HTML, padrão Hexadecimal.

Função que transforma o código de cor no padrão RGB para o padrão utilizado pela linguagem HTML

Código php
				
<?php

function rgb2hex ($r,$g,$b) {
//Aqui eu uso o str_pad para preencher com zeros
//caso a função retorne algum valor menor que 10.
//Por exemplo: $r=0, $g=0 e $b=0 me retornarão o
//código #000000. Se eu não usar o str_pad, me
//retornará somente 000, pois "zero" é menor que
//"dez", logo não tem caracteres na casa das dezenas
$r = str_pad(dechex($r),2,"0",STR_PAD_LEFT);
$g = str_pad(dechex($g),2,"0",STR_PAD_LEFT);
$b = str_pad(dechex($b),2,"0",STR_PAD_LEFT);

//Une as três variáveis e transforma tudo para maiúsculas

return strtoupper($r.$g.$b);
}


//Exemplo de Resultado:
//1964FE
echo rgb2hex(25,100,254);
//Se quiser imprimir o valor em Hexa utilizando o "#"
echo "#".rgb2hex(25,100,254);


?>


Se quiserem saber mais sobre as funções do PHP utilizadas acima.
strtoupper
str_pad
dechex
hexdec

Você gostou? Comente no fórum!

Mais recentes em PHP

Zend frameworks - o inicio
Por LeandroBarral - Primeiros passos.....
Classe de conexão com mysql
Por Carutcho - Pô esses dias passei aqui no forum de php pra dar uma...
Decimal para hexadecimal
Por dragun - Exemplo de função recursiva...
Como enviar sms via celular e php da forma mais barata
Por Micox - Tutorial de envio de mensagens de texto através do celular usando php...
Phpmailer - problema em servidores windows
Por PXzin - Tutorial para resolução....

Ver mais Artigos de PHP.

Ver e retirar outras dúvidas no fórum Webly.

Alguns Direitos Reservados | RSS | O Fórum

Webly Portal e Fóruns - Internet + Humana | Design by ArthurHenrique.com