Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#1

Farbhelligkeit verändern...

  Alt 20. Mär 2007, 21:41
Hallo zusammen,

ich möchte in meiner Anwendung einige Farben heller oder dunkler machen.
Das ist zwar nicht sehr wichtig, aber ich habe mich daran etwas festgebissen.

Ich denke, das wird sicher häufiger mal gebraucht werden, daher will ich hier mal einen Thread eröffen:

Mein aktueller Stand...
- RGB-Farben können nicht einfach in der Helligkeit verändert werden
- sie müssen in ein anderes Farbsystem (Cie LAB) umgewandelt werden, das über einen eigenen Helligkeitswert verfügt
- dann wird die Helligkeit geändert
- und die Farbe wieder in RGB konvertiert

einige Links...
http://www.beta45.de/farbcodes/theorie/farbmodelle.html
http://www.informatics.occursus.de/h...ava/SyncFM.htm
http://de.wikipedia.org/wiki/Lab-Farbraum
http://www.pagus.de/seminar/skript/color.html
http://www.ikg.uni-hannover.de/publi...davg_cms_2.pdf
http://www.multitools-online.de/cont...h/fm_kap01.pdf
http://homepages.fh-giessen.de/~hg10.../Kapitel4.html
http://de.wikipedia.org/wiki/Farbmanagement
http://www.farbtipps.de/farbsysteme.html
http://www.gm.fh-koeln.de/~hstl/Doku...ie/CIELab.html

Der letzte Link enthält eine Umrechnungsformel, mit der ich aber trotzdem nicht klar komme ;-(

Was mich aber grundsätzlich daran stört:
Der Helligkeitswert L bei LAB liegt im Bereich 0..100.

Im Color-Dialog von Delphi gibt es aber einen Bereich von 0..240
Farbt. 0..239
Sätt. 0..240
Hell. 0..240
Also wird dort wohl eine andere (bessere?) Umrechnung verwendet. Eine eigene Umrechnungsfunktion sollte natürlich bestenfalls mit den „gewohnten“ Werten funktionieren.

Weiß jemand, wie diese RGB-Umrechnung funktioniert?

Eine Funktion stelle ich mir dann so vor:
Delphi-Quellcode:
NewColor:=ColorHellDif(OldColor,10); // 10 Werte heller
NewColor:=ColorHellDif(OldColor,-10); // 10 Werte dunkler
NewColor:=ColorHell(OldColor,10); // alsoluter Wert=10
Stahli
  Mit Zitat antworten Zitat