Konvertiere Hex-Farbe in RGB-Werte in PHP
Was wäre ein guter Weg, um zu konvertieren hex-Farbwerte wie #ffffff
in die einzelnen RGB-Werte 255 255 255
mit PHP?
Kommentar zu dem Problem
Diese beiden hex sind von der gleichen Art? Ersten vertreten weiß, die zweite schwarz... was versuchen Sie zu tun?
$output = sprintf('%06x', 0xffffff - hexdec(ltrim($input, '#'));
jedoch ist es wahrscheinlich, übermäßig vereinfacht und Sie werden wahrscheinlich wollen, um die analyse der RGB-Komponenten einzeln, bitte erklären, was genau Sie wollen zu tun. Ihr Ziel-Repräsentation Beispiel (a) nicht in form einer Darstellung einer Farbe, die ich gesehen habe und (b) nicht erfüllen Ihre "ohne die
#
" - Anforderung. #ffffff
und #00000
steht für Weiß und Schwarz jeweils. Und für yr Informationen #00000
ist ebenfalls ein Hex-keine ganze Zahl. Hier f
repräsentiert, 15. Was meinst du mit konvertieren und nur eine ganze Zahl?
InformationsquelleAutor der Frage user123_456 | 2013-03-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check-out PHP
hexdec()
unddechex()
Funktionen:http://php.net/manual/en/function.hexdec.php
Beispiel:
InformationsquelleAutor der Antwort Niek van der Steen
Wenn Sie konvertieren von hex in rgb können Sie
sscanf
:Ausgabe:
InformationsquelleAutor der Antwort John
Ich habe eine Funktion, die auch gibt alpha, wenn alpha einen zweiten parameter, der code ist unten.
Die Funktion
Beispiel der Funktion Antworten
Wenn Sie möchten, kehren die rgb(a) im CSS-format ersetzen Sie einfach die
return $rgb;
Zeile in der Funktion mitreturn implode(array_keys($rgb)) . '(' . implode(', ', $rgb) . ')';
InformationsquelleAutor der Antwort Jake
Für jeden, der interessiert ist, ist dies eine weitere, sehr einfache Möglichkeit, es zu tun. In diesem Beispiel wird davon ausgegangen, es ist genau 6 Zeichen lang sein und keine vorstehenden Pfund-Zeichen.
Hier ist ein Beispiel, die unterstützt 4 verschiedene Eingänge (abc, aabbcc, #abc, #aabbcc):
InformationsquelleAutor der Antwort arosolino
Ich habe @John ' s Antwort und @iic Kommentar/Idee zusammen in eine Funktion, die mit beiden, den üblichen hex-Farb-codes und die Abkürzung für die Farbe codes.
Eine kurze Erklärung:
Mit scanf ich lese die r -, g-und b-Werte von hex Farbe als strings. Nicht als hex-Werte wie in @John ' s Antwort. Im Falle der Verwendung von Kurzschrift-color-codes, die r -, g-und b-strings müssen verdoppelt werden ("f" -> "ff", etc.) vor der Umwandlung in Dezimalzahlen.
InformationsquelleAutor der Antwort Alexxus
Meine Annäherung, um zu nehmen Pflege von hex-Farben mit oder ohne hash, einzelne Werte oder ein paar Werte:
InformationsquelleAutor der Antwort Martin
Können Sie versuchen, diese einfache Stück code unten.
Zurückkehren 123,222,132
InformationsquelleAutor der Antwort TESTasy
Konvertieren HEX-Farbcode in RGB
Ausgabe
Ich gefunden habe, diesen Verweis aus dem hier - Konvertieren Farbe Hex zu RGB und RGB in Hex mit PHP
InformationsquelleAutor der Antwort JoyGuru
InformationsquelleAutor der Antwort Manmeet Khurana
versuchen Sie dieses, es konvertiert Ihre Argumente (r, g, b) in einen hexadezimalen html-color-string #RRGGBB Argumente werden in Ganzzahlen konvertiert und getrimmt auf 0..255 Wertebereich
oh, und Umgekehrt
# - Zeichen am Anfang können weggelassen werden. Funktion gibt array mit drei Ganzzahlen, die im Bereich (0..255) oder false, wenn es nicht zu erkennen-Farbe-format.
InformationsquelleAutor der Antwort John Smith
Können Sie die Funktion
hexdec(hexStr: String)
um den Dezimalwert einer hexadezimal-string aus.Siehe unten für ein Beispiel:
Druckt
rgb(255, 255, 255)
InformationsquelleAutor der Antwort MSTRmt