Thema: Delphi Rechenproblem

Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Rechenproblem

  Alt 28. Mai 2008, 01:27
Das Problem bei Muetzes Lösung ist, dass sich dabei u.U. der jeweilige Farbeindruck mehr oder minder stark bei verändert, und der else-Zweig ist mir auch grad etwas suspekt


Eine sehr saubere, wenn auch nicht ganz triviale Lösung wäre es, wenn du die in-Farbe in das HLS-Farbmodell umrechnest, den L-Anteil um (Maske-128)*2 verschiebst (und bei L<0 und L>255 clippst), und das wieder nach RGB zurück wandelst.
In der englischen Wikipedia ist eine Formel zur Umrechnung RGB->HLS angegeben, den Rückweg hab ich noch nicht als fertige Formeln gefunden - lässt sich aber ja herleiten.

Du musst nur aufpassen, dass du nicht den HSV bzw. HSB Farbraum nimmst, da dieser bei voller Helligkeit kein Weiss annimmt, HLS bzw. HSL schon. (HSV und HSB werden meist gleichbedeutend verwendet, und HLS/HSL auch.) Edit: Ich seh grad, die en. Wikipedia nennt HSB synonym zu HSL, nicht zu HSV. Das wird gerne und oft durcheinander gebracht... Richtig ist das Modell, dass durch einen Doppelkegel repräsentiert wird, nicht durch einen einfachen Kegel. Damit ists eindeutig ^^)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat