Einzelnen Beitrag anzeigen

Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#7

Re: einfache Visualisierung mit bass.dll ??

  Alt 25. Jan 2009, 21:33
Zitat von meama:
auch wenn der thread schon ein bisschen älter ist gebe ich mal meinen senf dazu
meine vollbild visualisierung habe ich so gemacht

Delphi-Quellcode:
 data := form1.BassdllPlayer1.GetFFTData;
     for i := 0 to 255 do
      Data[i] := Data[i] * ln(i + 1) * 5 * Paintbox1.ClientHeight;
      Paintbox1.Canvas.CopyRect(Paintbox1.ClientRect, bkBitmap.Canvas, BitmapRect);
     
      randcl:=random(5);
      case randcl of
      0:Paintbox1.Canvas.pen.color := cllime;
      1:Paintbox1.Canvas.pen.color := clred;
      2:Paintbox1.Canvas.pen.color := claqua;
      3:Paintbox1.Canvas.pen.color := clyellow;
      4:Paintbox1.Canvas.pen.color := clfuchsia;
      end;

      Paintbox1.Canvas.MoveTo(0, Paintbox1.height div 2);
      for i := 0 to 255 do
        Paintbox1.Canvas.LineTo(i*((paintbox1.width div 255)), Paintbox1.height div 2 - round(Data[i]) div 2);
      Paintbox1.Canvas.MoveTo(0, Paintbox1.height div 2);
      for i := 0 to 255 do
        Paintbox1.Canvas.LineTo(i*((paintbox1.width div 255)), Paintbox1.height div 2 + round(Data[i]) div 2);
        Paintbox1.Canvas.MoveTo(0, Paintbox1.height div 2);
Paintbox1.Canvas.LineTo(i*((paintbox1.width div 255)) sorgt dafür, dass die visualisierunf über die paintbox gestreckt wird. allerdings je nach auflösung auch nicht ganz, weil das ergebnis gerundet ist. wenn man die 255 etwas kleiner macht könnte man das beheben, hängt wie gesagt von auflösung, also größe der paintbox ab
Danke, das habe ich noch gesucht! Habe es noch nicht hinbekommen, hatte aber auch noch nicht wirklich Zeit dafür.
Werde es mir mal ansehen!
  Mit Zitat antworten Zitat