Farben in HEX-Werten automatisch erzeugen

Hallo
in meiner Umsetzung gebe ich gerade Punkte mit Zahlen von 1-999 aus.
Nun möchte ich, das jeder Punkt eine andere Farbe bekommt.
Aber am besten in größeren Stufen, denn direkte Werte nebeneinander würde man ja nicht unterscheiden können.

Es gibt ja glaub ich 256 Werte.
Kann man das automatisch zuweisen,
das 1 den Wert 10,
2 den Wert 20
3 den Wert 30 usw. bis 250

dann 2 den Wert 11
usw.

bekommt.

Die Hex-werte haben ja auch ne komische Zahl, zb. ist rot ff0000ff.
Also müsste man das zusätzlich umsetzen, denn ich brauche diesen
Text für die Farbzuweisung.

Ist das aufwendig und weiss jmd wie das alles geht in VB6.

Mfg Werner

Hallo Werner,

die Darstellung in hex ist ja letztlich nur eine „andere“ Schreibweise. Soweit ich das kenne kann man drei mal 00 bis ff eingeben. Das gibt 256^3 Farben, also rund 16 Mio. Teile die durch 1000 und multipliziere mit der laufenden Numer:

256^3 / 1000 * i

Das ist zwar erstmal ein dezimaler Wert, der aber in hex umgerechnet werden kann. Dafür sollte VB auch eine Funktion haben.

Allerdings: Ob eine solche mathematische Herangehensweise auch schöne optische Unterschiede erzeugt wage ich zu bezweifeln. Außerdem stellt sich die Frage, wieviele Farben auch tatsächlich angezeigt werden können. Standard VGA kann imho nur 64k Farben. OK, wer hat das schon noch …

Leider hab ich aber auch keine alternative Idee. 1000 Farben so zu wählen, dass „immer“ ein deutlicher Unterschied sichtbar ist kann ich mir kaum vorstellen.

mfg

Dirk.Pegasus

Hi
Ok 16,777 Mio Farben /1000 gibt 16777 als Farbe für die Nummer 1

32400… für die Nummer 2 usw.

Wie lautet dann diese Farbe in Hex umgerechnet, weiss das jmd???
Die Abstufung der Farben kann ich dann ja mal testen denke ich.
Mir würden auch die Zahlen für 256 Farben reichen,
die ich dann einfach wieder starte nach einer gewissen Anzahl Punkten.

Es hapert dann jetzt noch an der Umsetzung nach HEX.

Mfg Werner

RGB Werte einfacher?
Hallo
ich hab grad mal recherchiert, vielleicht ist eine sinnvolle Farbabstufung über die Eingabe der RGB-Wert einfacher.

Ist nur die Frage wie man hier unterschiedliche Farben definiert,
soll heissen, in welchen Abstufungen man die Zahlenwerte ändert.

Hat da jmd Erfahrung mit?

Mfg Werner

Hallo Werner,

in vba kann man das machen:

.color= RGB(255, 255, 255)

Zitat aus Hilfe:
Gibt den Rot-Grün-Blau-Wert der angegebenen Farbe zurück oder legt ihn fest. Long-Wert mit Lese-/Schreibzugriff.

Damit kannst du auch direkt einen Long-Wert berechnen und übergeben. Ansonsten umrechnen in HEX:

Hex(Zahl)

Und zum Thema Abstufung: Gerade da sehe ich das Problem. Mathematik und Wahrnehmung dürften da imho anders laufen. Ist denn tatsächlich zu befürchten, dass sehr viele Werte auf einmal auftauchen? Wenn die Anzahl der „zu erwartenden“ begrenzt ist könnte man auch begrenzte Menge von Farben nehmen. Alleine wenn ich mir vorstelle 1000 bunte Punkte zu interpretieren wird mir schwindelig!

Da wir (glaube ich :wink:) alle nicht wissen was das werden soll, ist es schwierig mehr zu helfen als deine Frage hergibt. Die könnte nun beantwortet sein. Aber ob das deiner Anforderung genügt???

mfg

Dirk.Pegasus

Hi,
ne das hilft mir schon.
Ich denke mal, das ich in diesem Falle wirklich die Farbanzahl reduzieren muss.
Ich teste das einfach mal aus mit Punkten und lasse RGB jeweils in 10er schritten durchlaufen, dann sehe ich ja, was rauskommt und kann das entsprechend abstufen.
Die Info das 1000 verschiedene Farben schwer zu interpredieren ist, hat mir auch geholfen. Das sehe ich nun genauso.

Mfg Werner

Hallo Werner,

keep it simple, less is more.

Immer wieder gerne genommen. Was willst/sollst du deinem User sagen. ME sollte man „die Message“ soweit reduzieren, dass nur wenige, klar abgetrennte Aussagen bleiben. Meistens ist es ja so, dass aus der Überprüfung der Ergebisse (hier der Farben) auch Aktionen abzuleiten sind. Vieleicht kann man den Ergebnisse „Aktionsgruppen“ zuordnen. Das sind dann bestimmt keine 1000 mehr! Und dann kann man das auch leichter verstehen …

Viel Spass noch!

mfg

Dirk.Pegasus