Also wenn ich sowas schreiben würde, dann würde ich mir nen Algo machen, der die Farbe aus einem "Dim-Prozentwert" heraus erstellt.
Ich bin nun mal davon ausgegangen, dass reines Geld den Wert "50%" darstellt und reines Weiß "100%"...
Delphi-Quellcode:
function dimcolor(prozent:integer) : integer;
var
tmp : byte;
begin
if prozent <= 50 then
begin
tmp := 256 div 50 * prozent;
result := strtoint('$'+'00'+inttohex(tmp,2)+inttohex(tmp,2));
end
else
begin
tmp := 256 div 50 * (prozent-50);
result := strtoint('$'+inttohex(tmp,2)+'FFFF');
end;
end;
(Nich t wundern wegen der reihenfolge der Hex-Werte... das liegt an der Art und weise, wie Delphi solche Werte verarbeitet...
Ein Anwenbdungsbeispiel:
Delphi-Quellcode:
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
panel1.color := dimcolor(trackbar1.position);
end;
Klapte bei mir wunderbar... oder war es etwas anderes, was du brauchst?
Mein neuer, 13 Teiliger Open GL - Kurs (Samples in Delphi):
www.dcw-group.net
Neu! Ein großer Teil der Demos nach
Kylix übersetzt!
Neu! Teil 2b: Initialisierung von
OpenGL unter Kylix ist fertig!