Konvertieren von 8-stellige hex-Farben, rgba-Farben?
Alles, was ich gefunden habe zu diesem Thema einfach wandelt die hex -, rgb-und fügt dann einen alpha-1. Ich will den beabsichtigten alpha aus dem hex-Ziffern als gut.
Einer Farbe wie #949494E8
oder #DCDCDC8F
hat eindeutig einen alpha-Wert, der nicht 0 oder 1.
Wie wollen Sie konvertieren? Von hand? Mit einem Präprozessor? Programmgesteuert, mit welcher Sprache?
Auch deine syntax scheint falsch zu sein. 8-stellige hex-in der Regel folgt die AARRGGBB (ARGB) - format, d.h. die ersten zwei Ziffern gehören zu den alpha-Kanälen. Es scheint, dass Sie mit den letzten beiden stellen für den Alphakanal.
bricss.net/post/12423845540/...
Dies sind die hex-Farben aus einer Textmate theme. Ich habe versucht Sie zu bekehren, um RGBA-also kann ich das update und port das Thema WENIGER.
Wie die Artikel-Staaten, nicht jede Implementierung verwendet die gleiche Darstellung. Ich glaube nicht, dass es eine Allgemeine notation, die ist entweder richtig oder falsch - es hängt ganz von der Umsetzung. Interessanterweise, CSS-Farbe level 4 nutzt eigentlich das RRGGBBAA-format.
Auch deine syntax scheint falsch zu sein. 8-stellige hex-in der Regel folgt die AARRGGBB (ARGB) - format, d.h. die ersten zwei Ziffern gehören zu den alpha-Kanälen. Es scheint, dass Sie mit den letzten beiden stellen für den Alphakanal.
bricss.net/post/12423845540/...
Dies sind die hex-Farben aus einer Textmate theme. Ich habe versucht Sie zu bekehren, um RGBA-also kann ich das update und port das Thema WENIGER.
Wie die Artikel-Staaten, nicht jede Implementierung verwendet die gleiche Darstellung. Ich glaube nicht, dass es eine Allgemeine notation, die ist entweder richtig oder falsch - es hängt ganz von der Umsetzung. Interessanterweise, CSS-Farbe level 4 nutzt eigentlich das RRGGBBAA-format.
InformationsquelleAutor Steve | 2015-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich machte ein kurzes JSfiddle form, die es Ihnen ermöglicht zu konvertieren von 8-stellige hex-code in CSS rgba-Werte 😉
https://jsfiddle.net/teddyrised/g02s07n4/embedded/result/
Die Grundlage ist relativ einfach — split die Zeichenfolge, die Sie zur Verfügung gestellt haben, in teilen 2-stellig, und eine Umwandlung in prozentuale Verhältnisse bei der alpha-Kanal, und an Dezimalstellen für die RGB-Kanäle. Das markup ist wie folgt:
Die Logik:
Den Kern der Konvertierung ist wie folgt:
parseInt(hexValue, 16)
.c.unshift(c.pop())
zuc.push(c.shift())
.Kann nicht glauben, dass es gebrochen worden, so lange. Dank für die Festsetzung, aktualisiert.
InformationsquelleAutor Terry
Hier ist ein kleines tooltip für Sie :
In diesem Fall
#DCDCDC8F
dieDC
istalpha
= 220,Hex zu Dezimal [ DC ]:
dann 220 /255 = 0.86 Deckkraft.
Die bytes werden im Speicher gespeichert, auf einer little-endian Maschine, in der Reihenfolge AABBGGRR
Prüfen : http://www.statman.info/conversions/hexadecimal.html
#F5AA00
die "Auswahl Farbe", bekomme ich den richtigen orangergba(245, 170, 0, 1.0)
. Aber ich muss den alpha -91
von der ursprünglichenF5AA0091
.was Mathe bekommt man den alpha-Wert für den 2-hex-Zeichen?
Wollen Sie die Mathe-Formel??
Ich fand das... mühsam, aber es funktioniert. Dann nehme ich an ich eine Division durch 255. palmantics.com/html/hexadecimal
Ich erweiterte meine Antwort ein bisschen, um einen besseren Einblick in das problem.
InformationsquelleAutor Piotr Dajlido