Farben
-
hi,
ich möchte in meinem programm zum einem bestimmten verhältnis zweier variablen jeweils eine bestimmte farbe dastellen.
Beispiel
x/xmax = 1 -> rot
x/xmax = -1 -> blau
x/xmax = 0.5 -> gelbdie reihenfolge ist dabei weniger wichtig, es sollten nur kontinuierliche farbübergänge sein. mit RGB gets ja anscheinend nicht, oder ich hab da was falsch gemacht
-
was geht da nicht?
-
sowas in der Art
SelectObject (hdc, CreateSolidBrush((COLORREF) ( x/xMax)));ich suche irgendne einfache fkt die ein variablenverhältnis auf eine farbe abbildet. hast du da ne idee?
-
so direkt geht das wohl nicht
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/colors_9xiq.asp
du musst dein ergebniss zwischen 1 und -1 wohl entsprechend umrechnen.
die funktion dazu musst du wohl selbst schreiben.
rot wär dann 0x000000FF = 255
blau 0x00FF0000 = 16711680
-
ja, so hab ich mir das ja auch gedacht und dann mal so umgesetzt
SelectObject (hdc, CreateSolidBrush((COLORREF) ( 255 + 8355840 + 16711680 *(x/xMax))));mit kontinuierlichen farbübergängen ist da aber nicht viel, sieht eher aus wie ne tapete aus den siebzigern.
ich möchte damit einem 3D-Graphen entsprechend den werten eine bestimmte farbe zuordnen, deswegen sollten es halt kontinuierliche übergänege sein.gibts da nicht irgendne andere palette, von mir aus auch mit nur 256 Farben, mit der sowas leicht möglich ist?
-
da wär dann
1 = 162 rot
0 = 164 gelb
-1 = 166 blauund schon isses linear
die entsprechende gleichung kann ich jetzt aber nicht ausrechnen sry
-
da wär dann
1 = 162 rot
0 = 164 gelb
-1 = 166 blauund schon isses linear
(COLORREF) 16-2*(x/xmax)+4 (oder so?)
-
so gehts leider auch nicht. colorref will sich wohl einfach nicht linear verhalten. dann werd ich mir halt 24 farben per hand definieren und entsprechend einsetzen.
danke trotzdem