Delphi-Quellcode:
var
data: TFFTdata;
backbild: TBitmap;
oncreate;
Delphi-Quellcode:
backbild := TBitmap.create;
backbild.width := 256;
backbild.height:= 150;
in einen Timer mit kleinem Intervall:
Delphi-Quellcode:
Data:= BassPlayer.GetFFTData;
for i := 1 to 256 do
begin
data[i] := (Data[i] * (backbild.height)); //Werte anpassen
end;
backbild.Canvas.Brush.Color := clBlack; //Bild "löschen"
backbild.Canvas.Rectangle(0,0,backbild.Width,backbild.Height);
backbild.Canvas.Brush.Color := clred;//Farbe der Balken
backbild.Canvas.pen.Color := clred;
for i:=1 to 256 do
begin //DAs zeichnen der Balken
backbild.canvas.moveto(i,backbild.height)
backbild.canvas.lineto(i,backbild.height-round(Data[i]))
end;
BitBlt(Form1.Handle, 0, 0, backbild.width, backbild.height, backbild.Handle , 0, 0 , SRCCOPY);
//der Backpuffer wird aufs Formular kopiert
Ist jetzt nicht getestet.
Bei der darstellung sind dir fast keine Grenzen gesetzt. Kuck dir nur mal die vielen Visualierungs Plugins von Winamp an.
mfg