Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi VU-Meter Trägheit (https://www.delphipraxis.net/29959-vu-meter-traegheit.html)

Schneider-Huetter 17. Sep 2004 13:27


VU-Meter Trägheit
 
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;

Gandalfus 17. Sep 2004 13:55

Re: VU-Meter Trägheit
 
btw.:
Delphi-Quellcode:
 
  Polyline([Point(Mitte,Hoehe), Point(x,y)] );
hmm ich das dürfte besser sein:
Delphi-Quellcode:
 
  moveto(Mitte,Hoehe);
  lineto(x,y);
immer nur um ein grad veringern also keine Sprünge.

Schneider-Huetter 19. Sep 2004 10:55

Re: VU-Meter Trägheit
 
Sieht schon ein bisschen besser aus. Danke!

phlux 19. Sep 2004 10:58

Re: VU-Meter Trägheit
 
Ist nur so ne idee, leg doch einfach ne pause ein zwischen dem erneuten Zeichnen des Zeigers und da kannst dann ne Trägheit einbauen, irgendein Fakter der die Pause verkürzt und je länger du zeichnen musst nimmt der Faktor halt ab damit der Zeiger schneller steigt (wie zweideutig :lol: ) ;)

mfg phlux


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz