Moin Moin,
Darf ich Dieses Thema einmal für meinen Farbverlauf aufgreifen, da es schon dieses angeht.
Bei mir, steht das Problem jedoch etwas anders.
Ich habe eine Grundfarbe (z.B. clred oder clLime).
der Aktuelle stand ist wie folgt.
- 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);
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}
- {Lime
- // $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}
Generelle Idee bei mir ist, das ich einen "Grundwert" habe, und von da an 2 werte mir je einer Stufe heller und 2 Werte mit je einer Stufe Dunkler zurückerhalte.
Analog steht da auch schon ein thema in diesem Forum
Farbverlauf bei Canvas. Bitte nicht wundern, Urspünglich wollte ich dies auf einem TLabel anwenden.
Kleine aber Wichtige Info zusätzlich an Rande:
Ich Programmiere mir Lazarus auf einem Ubuntu 64bit system.
Bin für jede Hilfe dankbar.