3 Stimmen

[PHP]Umwandlung von RGB oder HEX in "Long Int" Farbe

Sie müssen RGB- oder HEX-Farben in "Long Int" für ein anderes Programm konvertieren, das dieses Format verwendet. Nicht sicher, die Besonderheiten der "Long Int" Farbformat aber.

Es ist möglich, die "Long Int"-Werte manuell mit diesem Farbpicker zu erzeugen http://hide-inoki.com/en/soft/chunter/index.html aber eine php-Funktion wäre vorzuziehen.

hexdec erzeugt für einige HEX-Werte ('FFFFFF', '2F2F2F') den richtigen "Long Int", für andere ('123456') nicht.

7voto

dkamins Punkte 20856

Sie sollten in der Lage sein, Folgendes zu verwenden PHPs Hexdec Funktion.

hexdec('FFFFFF'): 16777215
hexdec('123456'): 1193046

usw.

Wollen Sie damit sagen, dass diese Werte nicht korrekt sind? Oder haben Sie stattdessen aus Versehen dechex verwendet?


Aktualisierung aufgrund Ihres Kommentars, der besagt, dass die Farbe "#123456" "5649426" im Format "Long Int" sein sollte:

5649426 zur Basis 16 ist 0x563412, es ist also klar, dass Ihr Format BGR statt RGB erfordert.

Erstellen Sie also zunächst eine "BGR"-Zeichenkette aus Ihrer "RGB"-Zeichenkette und geben Sie diese dann in hexdec ein:

$rgb = '123456';
$bgr = substr($rgb,4,2) . substr($rgb,2,2) . substr($rgb,0,2);
print hexdec($bgr);

ergibt 5649426 .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X