Autor Beitrag
Adrian
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 314



BeitragVerfasst: Fr 31.12.04 01:10 
Servus!

Mein Problem dreht sich um die Darstellung der Farben bei verschiedenen Bildschirmeinstellungen.
Für die Darstellung von maximal 28 Kurvenzügen soll der Anwender die Farbe für jeden einzelnen Graphen einstellen können; der numerisch angezeigt Meßwert hat zur besseren Zuordnung ebenfalls die gleiche Farbe. Damit die Einstellung nicht jedesmal neu vorgenommen werden muß, speichere ich diese und weitere Einstellungen in einer ini-Datei, nach diesem Muster:
ausblenden Quelltext
1:
2:
Meßgerät 4, Kanal 2=Southbridge  //Bezeichnung
Meßgerät 4, Kanal 2=16752895     //Farbnummer

Was noch erschwerend dazu kommt, ist die Möglichkeit, daß beim Mausklick auf eine Kurve die Bezeichnung des Meßkanals für kurze Zeit in Mauszeigernähe erscheint (eine ähnliche Funktion bietet Excel bei der graphischen Darstellung). Dies wird dadurch erreicht, daß der Farbwert beim Anklicken ermittelt, und dann mit den in der ini-Datei hinterlegten Werten verglichen wird. Bei einer Übereinstimmung wird dann der Eintrag der Bezeichnung eingeblendet.
Das Ganze funktioniert, wenn der PC, bei dem das Programm ausgeführt wird, mit einer Farbtiefe von 32 Bit arbeitet.
Schwierig wird es, wenn andere Farbtiefen verwendet werden, da eine Farbe, die bei 32Bit z.B. mit $FF03A7 dargestellt wird, bei 16Bit leicht differierende Werte hat und bei 256 Farben schon wieder anders aussieht. Ich habe schon ein wenig rumprobiert, wie die Zuordnungen der Farben bei verschiedenen Farbtiefen aussehen, aber beim simplen Vergleich kommen so enorme Datenmengen zustande, daß ich nicht einmal einen Plan habe, wie ich sie auswerten soll; was dazu führt, daß ich auch nicht wüßte, wie ich die Erkenntnisse anwenden sollte.
Eine primitive Methode wäre, nur 256 Farben zuzulassen, aber so möchte ich die Möglichkeiten, die ein Monitor heutzutage bietet, nicht beschneiden, nur weil ich das Problem nicht sinnvoll lösen kann.
Gibt es Unterlagen, wie die Zuordnungen 256Farben - 16Bit - 24Bit - 32Bit aussehen? Was für Methoden würdet ihr verwenden, oder standet ihr schon mal vor dem gleichen Problem?
Oder habe ich meine Frage so kompliziert formuliert, daß sie gar nicht verstanden werden kann?

Ein gutes neues Jahr allen Mitgiedern des Forums,

Adrian
NeoInDerMATRIX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 245

Win95, Win98(+se), WinNT, Win2000, WinME, WinXP(+pro), VISTA, Linux(SuSe), DOS [MultiMon(3)], Vista
D6 PeE + (FP 2.0l) + D3 Pe + D2005+ D2006 Arch
BeitragVerfasst: Fr 31.12.04 03:59 
Hi Adrian,

also so weit ich mich daran erinere kannst du ein Zeichenbereich eine extrafarbtiefe geben. Will sagen wenn du Canvas hast müstest du eigentlich die PixelMode auf 8Bit farben setzen können. Da du sicher nicht mehr wie 255 unterschidliche farben benötigst sollte das ausreissen, da der 8Bit Farbmodus eine Index modus ist. Dies macht sich aber auf windows selber nur bemerkbar wenn windows mit weniger wie 8Bit läuft, da die farben dann per dither reduziert werden bei der anzeige. Nach obenhin gibt es kein problem da das windows dann ohne probleme konvertieren kann. Also was spricht dagegen 8Bit Farbmodus zu nehmen wenn er sichtbar volkommen ausreichend ist, und somit die arbeit vereinfacht. Da du das pixel als byte wert ausliest.

Cu
Neo