Farbe aus Prozentangabe zusammensetzen
Carl
- css
0 N2O0 Carl0 Thomas Meinike0 N2O
Hi
Ich versuche mich gerade an einer kleinen, dynamisch erzeugten Schematischen Darstellung. Die Darstellung an sich ist kein Problem, nur die Farbe. Diese soll aufgrund einer Angabe in der Datenbank variieren, wobei diese Angabe eine Prozentzahl zwischen 0 und 100 sein soll.
Abhängig von dieser Angabe soll nun die Farbe der Darstellung zwischen Grün (100) und Rot (0) variieren.
Um das zu erreichen habe ich versucht mit Hilfe von CSS und background-color: rgb(x,y,z); die richtige Farbe zu erzeugen.
Mein Problem ist nun, dass Mathe nun wirklich noch nie meine starke Seite war ;) und ich es einfach nicht hinbekomme, dass x und y sich im richtigen Maße verändern (blau wird ja nicht benötigt).
Hat jemand für mich ein paar Ansätze, wie ich aus der Prozentangabe die Werte von x und y berechnen kann?
Gruss
Carl
Hallo,
Hat jemand für mich ein paar Ansätze, wie ich aus der Prozentangabe die Werte von x und y berechnen kann?
Wenn du eine Prozentangabe hast und du die Farbe so definierst:
background-color:rgb(x,y,0);
dann musst du nur noch ausrechnen, wieviel der Prozentwert z.B. für Rot an 255 ausmacht: p * 255 = x
Zum Beispiel bei 20% Rotanteil: 0,20 * 255 = 51
Ergo: background-color:rgb(51,204,0); der y-Wert lässt sich ja durch einfache Differenz bilden.
Und den obigen Rechenschritt kannst du ja z.B. mit PHP bewältigen (du schreibst ja, dass du die Seiten dynamisch sind).
Gruß
Lachgas
Hi
danke, hat mir weitergeholfen, auch wenn es (aufgrund meiner mangelhaften Beschreibung) noch etwas abgewandelt werden musste, da ich nur Abstufungen zwischen Rot, Gelb und Grün haben wollte, was sich allerdings mit Hilfe einiger if-clauses lösen ließ.
Gruß
Carl
Hallo,
Zum Beispiel bei 20% Rotanteil: 0,20 * 255 = 51
Ergo: background-color:rgb(51,204,0); der y-Wert lässt sich ja durch einfache Differenz bilden.
rgb(20%,80%,0%) bietet sich an.
MfG, Thomas
Hallo,
rgb(20%,80%,0%) bietet sich an.
Sei nicht so kompliziert! ;-)
Hatte ich schlicht und einfach übersehen, diese Methode. Naja... :-/
Gruß
Lachgas