Socke hat geschrieben:Maik81ftl hat geschrieben:Dann man aus der kenntnis eine Formel schreiben??? wenn ja, wie würdet ihr den ansatz wählen?
Kann man, musst du aber nicht mehr selber machen.pluto hat geschrieben:Die LCL hat bereits Funktionen für HSV. Damit kann man relativ leicht um rechnen.
Hab sie kurz herausgesucht. Unit graphutil:Dort wird nur mit den englischen Worten Hue, Luminance und Saturation gearbeitet (gleichbedeutend mit HSV oder TSW)
- procedure ColorToHLS(const AColor: TColor; out H, L, S: Byte);
- procedure RGBtoHLS(const R, G, B: Byte; out H, L, S: Byte);
- function HLStoColor(const H, L, S: Byte): TColor;
- procedure HLStoRGB(const H, L, S: Byte; out R, G, B: Byte);
Danke Socke für die Functionen.
Dank dieser habe ich die die werte beommen, welche ich nun nur noch sinnvoll auswerten muß.
- {Rot
- // $9191FF; H:0; L:200; S:255 | R:137; G:128; B:255
- // $4D4DFF; H:0; L:166; S:255 | R:143; G:128; B:255
- // clRed; H:0; L:128; S:255 | R:149; G:128; B:255 <--- Grundfarbe
- // $0000B3; H:0; L: 90; S:255 | R:155; G:128; B:255
- // $000066; H:0; L: 51; S:255 | R:162; G:128; B:255}
- {Grün
- // $99FF99; H: 85; L:204; S:255 | R:140; G:170; B:255
- // $4DFF4D; H: 85; L:166; S:255 | R:150; G:170; B:255
- // clLime; H: 85; L:128; S:255 | R:160; G:170; B:255 <--- Grundfarbe
- // $00B300; H: 85; L: 90; S:255 | R:169; G:170; B:255
- // $006600; H: 85; L: 51; S:255 | R:177; G:153; B:255}
Die werte Oberhalb und unterhalb der Grundfarbe ist nun genau das, wo ich arg rechnen werden muß. Würde der Wert $006600; H: 85; L: 51; S:255 | R:177; G:153; B:255 nich aus der rolle fallen, wäre es ein leichtes.