Kurzerklärung
Es werden aus den drei Farbwerten für Rot, Grün und Blau und dem vierten Wert für die Transparenz die jeweiligen Hexadezimalwerte ermittelt und in die folgende Schreibweise umgeformt: #RRGGBBTT. Wenn wir die Farbe Rot umwandeln, besteht sie aus 255 roten, 0 grünen, 0 blauen Anteilen und dem Wert 1 für die Transparenz. RGBA-Schreibweise ist dann folgendermaßen: rgba (255, 0, 0, 1).
Diese Farbwerte werden dann jeweils in einen Hexadezimalwert umgewandelt. Aus 255 wird FF, aus 0 wird 00. Der Wert der Transparenz (1) wird mit 255 gleichgesetzt und wird dann auch FF. Damit ergibt sich der Farbwert in hexadezimaler Schreibweise mit #FF0000FF.
Berechnungsbeispiel
Wir werden am Beispiel der Farbe SkyBlue1 mit einer Transparenz von 0.75 eine Umrechnung von rgba zu hex beschreiben.
Ausgangswert ist die Farbe im RGBA-Format:
RGBA = rgba (135, 206, 255, 0.75)
Diese Werte werden auf die jeweiligen Farben Rot, Grün, Blau und den Wert für die Transparenz aufgeteilt:
Rot = 135
Grün = 206
Blau = 255
Transparenz = 0.75
Diese Farbwerte müssen nun von dem Dezimalsystem in das Hexadezimalsystem umgerechnet werden. Dazu muss man wissen, dass die Zahlen von 0 bis 9 für die Werte der Hexadezimalzahlen 0 bis 9 stehen und danach die Zahl 10 für den Buchstaben A oder a, 11 für B oder b, 12 für C oder c, 13 für D oder d, 14 für E oder e und 15 für F oder f. Das bedeutet in unserem Beispiel, dass wir zu Beginn den Wert für Rot (135) umwandeln müssen. Dazu teilen wir den Wert durch 16 (135 / 16 = 8.4375). Die Nachkommastellen werden dann mit 16 multipliziert und gegen den Hexadezimalwert ausgetauscht (0.4375 * 16 = 7 | 7 bleibt im Hexadezimalsystem 7). Da wir hier im 2-stelligen Hexadezimalbereich rechnen, ist die Vorkommastelle der Wert, den wir in eine Hexadezimalzahl umformen (8 / 16 = 0.5 | 0.5 * 16 = 8 | 8 bleibt im Hexadezimalsystem 8). Die Werte werden von hinten nach vorn zusammengestellt, also in unserem Fall 87. Beim Wert für die Transparenz gibt es eine Besonderheit. Hier wird in der RGBA-Schreibweise der Wert als Dezimalwert zwischen 0 und 1 angegeben, wobei 0 für vollständige Transparenz und 1 für Intransparenz steht. Diesen Wert erhält man, indem der Wert der Transparenz mit dem Wert 255 multipliziert wird. Danach wir daraus der Hexadezimalwert errechnet. Daraus ergeben sich dann die folgenden Berechnungen:
Rot = 135
Rot = 135 / 16 = 8.4375 ⇒ 0.4375 * 16 = 7
Rot = 8 / 16 = 0.5 ⇒ 0.5 * 16 = 8
Rot = 87
Grün = 206
Grün = 206 / 16 = 12.875 ⇒ 0.875 * 16 = 14 = E
Grün = 12 / 16 = 0.75 ⇒ 0.75 * 16 = 12 = C
Grün = CE
Blau = 255
Blau = 255 / 16 = 15.9375 ⇒ 0.9375 * 16 = 15 = F
Blau = 15 / 16 = 0.9375 ⇒ 0.9375 * 16 = 15 = F
Blau = FF
Transparenz = 0.75 * 255
Transparenz = 191.25 / 16 = 11.9375 ⇒ 0.9375 * 16 = 15 = F
Transparenz = 11 / 16 = 0.6875 ⇒ 0.6875 * 16 = 11 = B
Transparenz = BF
Um das Ergebnis unserer Berechnung zu erhalten, müssen die errechneten Dezimalwerte nun in die Hexadezimal-Schreibweise #RRGGBBTT gebracht werden:
Hex = #87CEFFBF