Forum: Win32/Win64 API (native code)
by himitsu,
2. Feb 2009
@shmia: clLime = (Hell)Grün
Forum: Win32/Win64 API (native code)
by himitsu,
1. Feb 2009
na dann werden mal sehn :angel:
wen es schon einen Typen dafür gibt, warum dann diesen nicht verwenden?
PS: TColor ist nicht Cardinal (ein Glück, daß die Meißten die Bereichprüfung nicht aktiv haben)
TColor = -$7FFFFFFF-1..$7FFFFFFF;
Forum: Win32/Win64 API (native code)
by himitsu,
1. Feb 2009
@mr_emre_d: Zieh verfehlt, es sei denn du hast noch soeinene Funktion mit 3 Parametern.
(die Berechnung darin entspricht meiner ersten "falschen/ungewünschten" Formel)
Function Gradient(ACanvas: TCanvas; Pos: TRect; const FromColor, ThroughColor, ToColor: TColor): Boolean;
...
Gradient(Canvas, Pos, clGreen, clYellow, clLime);
und wieso Cardinal? (TColor)
Forum: Win32/Win64 API (native code)
by himitsu,
31. Jan 2009
wenn du unbedingt über 3 Farben gehen willst, dann mußt du die Berechnung teilen
0%-50% Farbe1 > Farbe2
50-100% Farbe2 > Farbe2
aber Rot + Grün ergibt doch Gelb.
also sollte der Farbverlauf von Rot nach Grün auch über Gelb gehen?
(es sei denn ich hab mich verrechnet)
OK, 50% Rot + 50% Grün = 50% Gelb = dunkelgelb
Forum: Win32/Win64 API (native code)
by himitsu,
30. Jan 2009
Mathematik?
z.B.:
Farbe := (Trunc(255 / 100 * Prozent) * (clRed and $fefefe))
or (Trunc(255 / 100 * (100 - Prozent) * (clLime and $fefefe));
Farbe := (255 * Prozent div 100 * (clRed and $fefefe))
or (255 * (100 - Prozent) div 100 * (clLime and $fefefe));