Hallo zusammen,
ich habe mal die Zeigerbewegung für ein "analoges" VU-Meter geschrieben.
Das funktioniert auch ganz gut, nur zappelt der Zeiger u.U. ziemlich wild herum. Hat jemand eine Idee, wie man eine Art künstliche Trägheit einbauen könnte, damit es sich wie ein echtes analoges VU-Meter verhält?
hier noch der Quellcode:
Delphi-Quellcode:
Procedure Zeiger( x : Integer; ZeichnungsFlaeche : TImage; ZeigerFarbe : TColor );
Var y : Integer;
Mitte, Breite, Hoehe : Integer;
Begin
Hoehe := ZeichnungsFlaeche.Height;
Breite := ZeichnungsFlaeche.Width;
Mitte := Breite div 2;
With ZeichnungsFlaeche.Canvas do
Begin
Pen.Color := ZeigerFarbe;
if x < Mitte then
Begin
y := Hoehe - Round( Sqrt( Sqr(Hoehe-10) - Sqr( Mitte-x ) ) );
End
Else
y := Hoehe - Round( Sqrt( Sqr(Hoehe-10) - Sqr(x-Mitte) ) );
Polyline([Point(Mitte,Hoehe), Point(x,y)] );
End;
End;