Poco fa, smanettando con la libreria GD, mi serviva conoscere la notazione RGB di un colore partendo dal codice esadecimale (per intenderci, quello che usiamo nei file (x)html e css).
Apro il fido GIMP, ma sembra non esserci traccia di come fare. Per la verità penso sia possibile farlo tramite il programma, ma proprio non trovo come.
Per evitare di intraprendere estenuanti ricerche in altri programmi, siti e casini vari, decido di scrivere una funzione in PHP che mi permetta di passare dal codice esadecimale, al codice RGB di un colore.
La funzione è la seguente:
if(preg_match(‘/^[#]([a-f0-9]{3})$/’,$hexcolor)){
$hexcolor = $hexcolor . substr($hexcolor, 1,3);
}
if(!preg_match(‘/^[#]([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/’,
$hexcolor)){
$result = “Codice non valido”;
}else{
$r = hexdec(substr($hexcolor, 1,2));
$g = hexdec(substr($hexcolor, 3,2));
$b = hexdec(substr($hexcolor, 5,2));
$result = “R: “. $r .” – G: “. $g .” – B: “. $b;
}
echo $result;
}
In realtà la funzione originaria era ancora più semplice, ma decidendo di condividerla qui, ho pensato bene di inserire qualche exceptions al codice. E’ possibile testare il tutto usando questo piccolo form.
Colore da esadecimale (html – css) a RGB
Poco fa, smanettando con la libreria GD, mi serviva conoscere la notazione RGB di un colore partendo dal codice esadecimale (per intenderci, quello che usiamo nei file (x)html e css).
Apro il fido GIMP, ma sembra non esserci traccia di come fare. Per l…[…]
Utilissimo..
Scusa Davido ma non ci sono siti che semplicemente lo fanno?
Io uso questo:
http://www.iltarget.it/tabcolori.htm
Oppure quest’ altro:
http://www.redbrick.dcu.ie/help/reference/colors/
Spero di non aver detto una stupidata come al solito ..
Eh, ma considera che la funzione originaria era:
function hex_to_rgb($hexcolor){
$r = hexdec(substr($hexcolor, 1,2));
$g = hexdec(substr($hexcolor, 3,2));
$b = hexdec(substr($hexcolor, 5,2));
$result = $r . $g . $b;
}
echo $result;
}
Tutto il resto sono flussi di controllo che ho inserito qui per dare una logica più formale al tutto.
In questi casi faccio prima a scrivere la funzione che a cercarla
Grazie davidonzolo, sempre utili ste cose!