webentwicklung-frage-antwort-db.com.de

Wie funktioniert die hexadezimale Farbe?

Was bedeutet die Hexadezimalzahl, die eine CSS-Farbe darstellt? Wie kann ich feststellen, welche Farbe es hat, ohne den genauen Code zu kennen? Hat es irgendwelche Beziehungen zum RGB- (und CMYK-) System?
Ich dachte für einen Moment, dass FF in RGB 255 bedeutet, aber dann wurde mir klar, dass 15 ^ 2 nicht 255, sondern 225 ist.

13
jasonszhao

Hexadezimal verwendet sechzehn verschiedene Symbole, im Fall von css die Symbole 0–9, um die Werte null bis neun darzustellen (offensichtlich), und A, B, C, D, E, F, um die Werte zehn bis fünfzehn darzustellen. Wenn Sie ein Hexadezimalzeichen verwenden, können Sie 16 -Werte darstellen. Mit zwei Hexadezimalwerten können Sie 256 (16 * 16) -Werte darstellen.

In RGB gibt es Farben, die durchRedGreenBlue dargestellt werden (R = 0-255, G = 0-255, B = 0-255), also verwenden wir 3 Paare von Hexadezimal-Symbolen! Wenn Sie also eine RGB-Farbe sehen, können Sie die folgende Berechnung durchführen. 

Beispiel: 

Hex: #4C8ED5 ist RGB: 76, 142, 213

Weil 4C = 76 (Red), 8E = 142 (Green), D5 = 213 (Blue)! 

Hoffe es hilft deinem Verständnis!

Mehr zu lesen: Hexadezimal bei Wikipedia und ein Nizza RGB in Hexidecimal Konverter

24
BrainArchitect

Nimrod100s Antwort

Wenn Sie FF hatten und das ROT war, haben wir zwei Hexdigits (0-9, A-F): F = 15

15 * (16 ^ 0) = 15
15 * (16 ^ 1) = 240

240 + 15 = 255
RED = 255

das Bit (16 ^ 0) und (16 ^ 1) bedeutet, dass wir in der Basis 16 arbeiten. Wenn Sie KPEs Beispiel für 8040FF verwenden, würden wir Folgendes tun:

F = 15

15 * (16 ^ 0) = 15
15 * (16 ^ 1) = 240

240 + 15 = 255
BLUE = 255

dann

8 * (16 ^ 0) = 8
(BECAUSE WE HAVE 0 WE IGNORE IT)
(16 ^ 1) = 16
(BECAUSE WE IGNORED THE ZERO WE * INSTEAD OF +)
8 * 16 = 128
RED = 128

4 * (16 ^ 0) = 4
(BECAUSE WE HAVE 0 WE IGNORE IT)
(16 ^ 1) = 16
(BECAUSE WE IGNORED THE ZERO WE * INSTEAD OF +)
4 * 16 = 64

GREEN = 64

R = 128
G = 64
B = 255

Wenn Sie jedoch einzelne Hex-Ziffern hätten, z. F, das entspricht 15, also ROT = 15

7
nimrod100

Ich fand den mathematischen Teil in einigen anderen Antworten eher verwirrend.

Es ist eigentlich ganz einfach. Ich habe eine gute Erklärung gefunden hier.

Farben in Computern werden durch die Kombination von Rot, Grün und Blau in unterschiedlichen Anteilen ausgedrückt. Die Werte für jede Farbe reichen von 0 bis 255. In der RGB-Notation drücken wir ein reines Rot aus, indem Sie schreiben (255,0,0), wobei Grün und Blau den Wert 0 haben . (123,123,123) steht für etwas Grau, (0,0,0) steht für Schwarz und (255,255,255) steht für Weiß.

Das Hexadezimalsystem verwendet exakt dieselben Prinzipien und Wertebereiche und versucht, diese in kürzerer Form auszudrücken.

In unserem gemeinsamen Dezimalsystem gehen einstellige Zahlen von 0 bis 9, und dann müssen wir zwei Ziffern (d. H. 10) verwenden.

Um größere Zahlen mit nur einer Ziffer auszudrücken, gibt das Hexadezimalsystem den Ziffern 10 bis 15 eine 1-stellige Darstellung, indem ihnen Buchstaben zugeordnet werden. Nun also: 10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F. (Buchstaben können Kleinbuchstaben sein).

Schauen wir uns an, wie unser Dezimalsystem funktioniert, da es dem Hexadezimalwert sehr ähnlich ist. In der Zahl 13 ist die erste Ziffer eine Eins, aber sie stellt eine 10 dar. Um dreizehn zu erhalten, addieren wir 3, 13 = 10 + 3. Das heißt, wir multiplizieren die zweite Ziffer von rechts nach links immer mit 10 und fügen dann die nächste Ziffer hinzu. Die 2 in 23 stellt eine 20 dar. In Hexadezimal multiplizieren wir die zweite Ziffer von rechts nach links immer mit 16. (Hexadezimal bedeutet sechzehn). 

Schauen wir uns die Nummer 4C an. Hier multiplizieren wir 4 mal 16, da dies die zweite Zahl von rechts nach links ist, 4 * 16 = 64. C steht für 12, also addieren wir es jetzt zu 64. 64 + 12 = 76, 4C = 64.

Um die größere Zahl auszudrücken, die wir schreiben müssen, verwenden wir FF, das für 255 steht. Daher können wir alle Zahlen, die wir für Rot, Grün und Blau benötigen, mit 6 Zeichen ausdrücken. 

Um dies noch weiter zu verkürzen, können Sie drei Zeichen schreiben, wobei jedes Zeichen verdoppelt wird. Beispielsweise steht # 000 für # 000000 oder #ABC wäre #AABBCC

Können Sie jetzt die CC9-Nummer erraten? Diese Zahl wird nicht benötigt, um eine Farbe auszudrücken. Hinweis: In Dezimalzahlen bedeutet 267 (2 * 100) + (6 * 10) + (7) oder (2 * 10 * 10) + (6 * 10) + (7).

Antwort unten.

-

-

-

-

(C * 16 * 16) + (C * 16) + (9) =

(12 * 16 * 16) + (12 * 16) + (9) =

3072 + 192 + 9 = 3273 

1
Alejandro Camus

In einer hexadezimalen 6-stelligen Schreibweise geben die Ziffern paarweise die rote, grüne und blaue Komponente im RGB-System an. Zum Beispiel hat #0000FF 0 für Rot, 0 für Grün und FF (was 15 × 16 + 15 = 255 in Dezimalzahl ist), d. H. Das Maximum für Blau (in der Bedeutung, die es in RGB hat).

In der dreistelligen Notation wird jede Ziffer verdoppelt und das Ergebnis wird wie oben interpretiert. Zum Beispiel bedeutet #00F#0000FF.

Autorisierende Referenz: 4.3.6 Colors in CSS 2.1 (das neuere CSS Values ​​and Units-Modul Level 3 zitiert nur normativ CSS 2.1 für diese Definition; das CSS-Farbkonzept enthält Erweiterungen, dies jedoch nicht diese Probleme betreffen).

RGB und CMYK sind verschiedene Farbsysteme. Es gibt keine allgemeine Konvertierungsformel, die zwischen ihnen konvertiert.

1

Der HEX-Code repräsentiert drei Bytes, eines für jede RGB-Farbe in dieser Reihenfolge.

FF0000 ist volle ROTE Intensität, 00FF00 ist volle GRÜNE Intensität, 0000FF ist volle BLAUE Intensität

8040FF entspricht 128 ROT, 64 GRÜN und 255 Blau

Sie können auch ein kurzes Formular schreiben, in dem Sie nicht die niedrigen 4 Bits jedes Bytes angeben, wie FFF für volles WEISS, F00 für volles ROT, 00F für volles BLAU

1
KPE

Gemäß http://quashnick.net/geek_stuff/HEX2DEC.html

Ein Hexadezimal-Farbwert stellt die Farbe Rot-Grün-Blau dar (jedes Verwendet 1 Byte). RGBist im Dezimalwert, zum Beispiel RGB (255, 255, 255). Der Hex-Farbcode ist jedoch im Hexadezimalformat #FFFFFF -> (R) FF- (G) FF- (B) FF

HEX-Nummern setzen sich wie DEC aus den Ziffern 0 bis 9 zusammen, fügen aber auch A-F hinzu. Wenn also in HEX gezählt wird: HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F

DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Hier ist eine HEX-Nummer: 1E5DF 

Um dies in ein DEC umzuwandeln, müssen wir die Basis für unsere Potenzfunktion Definieren. Da HEX auf 16 verschiedenen Ziffern [0-9A-F] basiert, beträgt unsere Basis 16.

Gehen Sie folgendermaßen vor, um von HEX zu DEC zu konvertieren: Wir wissen, dass F = 15 in DEC ist, daher verwenden wir diese Formel (15 * 16 ^ 0) = 15
Wir wissen, dass D = 13 in DEC ist, also verwenden wir diese Formel (13 * 16 ^ 1) = 208
Wir wissen, dass 5 in DEC = 5 ist, also verwenden wir diese Formel (5 * 16 ^ 2) = 1280
Wir wissen, dass E = 14 in DEC ist, also verwenden wir diese Formel (14 * 16 ^ 3) = 57344
Wir wissen, dass 1 in DEC 1 ist, also verwenden wir diese Formel (1 * 16 ^ 4) = 65536

Jetzt addieren wir alle Zahlen zusammen, um die DEC-Nummer für HEX Nummer 1E5DF zu erhalten:
15 + 208 + 1280 + 57344 + 65536 = 124383

Unsere Antwort lautet also HEX 1E5DF = DEC 124383

Lesen Sie mehr unter: http://quashnick.net/geek_stuff/HEX2DEC.html
Weitere Informationen zu Farben finden Sie unter: http://www.w3schools.com/html/html_colors.asp

1
Nemesis