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