Ich versuche verschiedene Paletten für das Spectrogram zu definieren.
Dazu habe ich die weite verändert.
Die Initialisierung des Bitmap sieht wie folgt aus.
Delphi-Quellcode:
procedure TForm1.InitBitmap;
begin
PalOrder := PAL_HOT;
PalNeg := False;
PalRGB := PAL_RGB;
BuffBMP := TBitmap.Create;
BuffBMP.Width := (StreamLength div 512 div 2) div Info.chans;
BuffBMP.Height := 160;
BuffBMP.HandleType := bmDIB;
BuffBMP.PixelFormat := pf8Bit;
ChangePalette(PalOrder, BuffBMP.Width, BuffBMP.Height, PaletteFile);
BuffBMP.Canvas.Brush.Color := PaletteIndex(0);
BuffBMP.Canvas.FillRect(BuffBMP.Canvas.ClipRect);
end;
Das habe ich von
(StreamLength div 512 div 4) //pf24Bit
nach
(StreamLength div 512 div 2) //pf8Bit
geändert
Mein Problem die Linien sind irgendwie gestretcht (bzw.. scheint da mit Scanline was nicht zu stimmen.)
Zudem wird das Spectrogram nun revers gezeichnet.
Es fängt von hinten an zu zeichnen.
was kann ich da machen?
Habe mal die unterschiede als Anhang addiert.
gruss