Gibt eine Funktion, HEX-Code (z.B. #eeeeee), gibt ein Array von RGB-Werten zurück.
function hex2rgb( $colour ) {
if ( $colour[0] == '#' ) {
$colour = substr( $colour, 1 );
}
if ( strlen( $colour ) == 6 ) {
list( $r, $g, $b ) = array( $colour[0] . $colour[1], $colour[2] . $colour[3], $colour[4] . $colour[5] );
} elseif ( strlen( $colour ) == 3 ) {
list( $r, $g, $b ) = array( $colour[0] . $colour[0], $colour[1] . $colour[1], $colour[2] . $colour[2] );
} else {
return false;
}
$r = hexdec( $r );
$g = hexdec( $g );
$b = hexdec( $b );
return array( 'red' => $r, 'green' => $g, 'blue' => $b );
}
Danke, ich habe es als guten Ausgangspunkt verwendet.
Ich habe es leicht gekürzt und davon ausgegangen, dass das End-HEX immer 6 Zeichen lang ist (da ich die Eingabe kontrolliere). Könnte str_split() für Ihren Code hilfreich sein?
function($hexString){
$hexString = preg_replace(“/[^abcdef]/i”,””,$hexString);
if(strlen($hexString)==6){
list($r,$g,$b) = str_split($hexString,2);
return Array(“r”=>hexdec($r),”g”=>hexdec($g),”b”=>hexdec($b));
}
Mir ist gerade aufgefallen, dass ich nicht den gesamten Code kopiert habe.
Am Ende fehlt ein false! Heh....
function hex2rgb($hexString){
$hexString = preg_replace(“/[^abcdef]/i”,””,$hexString);
if(strlen($hexString)==6){
list($r,$g,$b) = str_split($hexString,2);
return Array(“r”=>hexdec($r),”g”=>hexdec($g),”b”=>hexdec($b));
}
return false;
}
Falls jemand an einem Javascript-Äquivalent interessiert ist, habe ich dieses verwendet (nicht perfekt, aber scheint seinen Zweck zu erfüllen)
function hex2rgb( colour ) {
var r,g,b;
if ( colour.charAt(0) == ‘#’ ) {
colour = colour.substr(1);
}
r = colour.charAt(0) + ” + colour.charAt(1);
g = colour.charAt(2) + ” + colour.charAt(3);
b = colour.charAt(4) + ” + colour.charAt(5);
r = parseInt( r,16 );
g = parseInt( g,16 );
b = parseInt( b ,16);
return “rgb(” + r + “,” + g + “,” + b + “)”;
}
Danke, es funktioniert wirklich. Mit einigen Änderungen kann es auch für RGBA-Farbcodes verwendet werden, indem einfach ein weiterer Parameter hinzugefügt wird.
Ich möchte sagen, dass diese Seite hochwertige Inhalte hat!!!
Natürlich war der obige Code genau das, was ich wollte.
Danke, du bist ein Lebensretter. Ich brauchte das für ein Kundenprojekt und habe ewig damit herumgespielt, aber ich konnte es nicht ganz richtig hinbekommen!
Nochmals vielen Dank!
Super toller Code-Schnipsel zum Einfügen in ein WordPress-Plugin!
Hier ist eine weitere kleinere Funktion zur Konvertierung von HEX in RGB
Das ist genial, vielen Dank. Ich frage mich, ob es eine Ressource gibt, die diese Notation einem Idioten klar und prägnant erklärt...
HEX in RGB über PHP in einer Zeile.
list($r,$g,$b) = array_map('hexdec',str_split($colorVar,2));oder wenn die Variable das #-Präfix haben soll, dann
list($r,$g,$b) = array_map('hexdec',str_split(ltrim($colorVar, '#'),2));Das scheint eine sehr minimale Methode zu sein, es so zu tun
Gefunden hier: https://stackoverflow.com/questions/15202079/convert-hex-color-to-rgb-values-in-php