Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: TColor - Helligkeit und Sättigung (Get/Set)

  Alt 15. Okt 2004, 12:50
Zitat von static_cast:
hmm ja den hatt ich auch schon gesehen, konnt ich nur nicht so viel mit anfangen, blicke da nicht so wirklich durch die berechnug durch, ist etwas sehr wirr.
Delphi-Quellcode:
Maximum := Max(Red, Max(Green, Blue));
Minimum := Min(Red, Min(Green, Blue));
Brightness := Maximum;
Saturation := MulDiv(Maximum - Minimum, 255, Maximum)
Was ist daran bitte so kompliziert? Na klar, umgekehrt wirds etwas schwerer, aber wenigstens die Get-Routinen sollten möglich sein. Du musst nur noch die RGB-Werte aus dem TColor auslesen, und das sollte mit dieser Funktion kein Problem sein:
Delphi-Quellcode:
procedure GetRGB(Color: TColor; var r, g, b: Byte);
var
  rgb: DWord;
begin
  rgb := ColorToRGB(Color);
  r := Byte(rgb);
  g := Byte(rgb shr 8);
  b := Byte(rgb shr 16);
end;
PS: Ich habe sie nicht getestet

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat